Hadoop gran almacén de datos cuenta qué tipo de necesidades de almacenamiento separados?

De acuerdo con IDC predice que para el año 2021, al menos el 50 por ciento del PIB mundial será impulsado de forma digital. La cara de enormes cantidades de datos, las empresas necesitan a través de, ágil, la infraestructura de TI de alto rendimiento más moderna para promover la continuidad del negocio.

El mundo de hoy, se han analizado muy pocos datos, hay un enorme potencial sin explotar, hasta $ 300 billón de datos impulsada por el mercado en China ha ido madurando en los aspectos técnicos de la inteligencia artificial, redes y 5G, etc. la economía de China está en auge base digital, y esos datos aún no se han utilizado en su totalidad, es el elemento clave del nuevo valor de negocio.

01. Lago del valor de los datos

Lago soporte de datos en su formato de almacenamiento de datos nativo o casi nativo, que proporciona una visión completa de los datos no son científicos y analistas de datos altamente cualificados. Lago de datos ofrece un entorno sin compromiso, así como el sistema de registro y análisis adecuado y garantizar los intereses comunes, a saber, la coherencia semántica, la gobernabilidad y la seguridad.

Por lo tanto, los científicos de datos para explorar el lago es particularmente adecuado para los datos desconocidos y problemas desconocidos. No se analiza una gran cantidad de datos, los datos pueden ser almacenados temporalmente en un lago unificado.

02. Hadoop es el más comúnmente utilizado lago soluciones de datos

Una ventaja importante de Hadoop es apoyar estos datos exploratorios sobre el desconocido y los problemas desconocidos con el caso. Que desempeña en LDW (almacén de datos lógicos) en el cuadrante superior derecho de la infraestructura de gestión de datos modelo basado en roles - campos de datos desconocidos y problemas desconocidos. Dado que la tecnología semántica Hadoop optimizado para la flexibilidad, de manera que se puede yuxtaponer con almacén tradicional de datos estructurado, a fin de lograr una gama más amplia de tipos de datos, y los casos de uso del usuario final.

Aunque Hadoop no es tan caliente hace unos años, sin embargo, sigue siendo la más utilizada lago soluciones de datos. Recientes muestran datos de investigación de Gartner, el despliegue y la demanda sigue siendo alta y Hadoop está creciendo. En una encuesta reciente, 235 encuestados dijo que el 34 por ciento de los encuestados están utilizando actualmente Hadoop para análisis de datos y el trabajo, mientras que el 55% de los encuestados planean investigar en los siguientes 24 meses. totalizaron 89% . Esta es la demanda de los Gartner de 2016 años de investigación ya que el aumento más significativo.

03. limitaciones HDFS

Apache Hadoop es un sistema altamente escalable, ampliamente utilizado en gran almacenamiento de datos y análisis. Sistema de archivos distribuido Hadoop (HDFS) está diseñado para ser adecuado para correr en un hardware de sistema de archivos distribuido de propósito general.

HDFS se compone principalmente de tres partes:

▪ NameNode: espacio de nombres y guardar todo el bloque de datos de HDFS relación de proyección de NameNode. Todas las operaciones de metadatos se procesan en NameNode;

▪ DataNode: DataNode los datos de HDFS se almacena como un archivo en el sistema de archivos local, que no conoce la información sobre el archivo HDFS;

▪ DFSClient: cliente HDFS, en el sistema de archivos Hadoop, HDFS y encapsula las complejas interacciones de otras entidades, se prevé la aplicación de una norma, interfaz simple.

Hadoop conveniencia para el análisis de datos de gran tamaño, sino que también se enfrenta a algunos retos:

1, Hadoop expansión limitada

NameNode HDFS es el gerente, es responsable de los bloques de espacio de nombres del sistema de archivos, la información de configuración del clúster y la replicación de datos y así sucesivamente. NameNode almacena las relaciones de referencia de cada bloque de datos y cada archivo en el sistema de archivos en la memoria, es decir, los metadatos.

En tiempo de ejecución, el HDFS cada archivo, el directorio y el bloque de datos de información de metadatos (aproximadamente 150 bytes) deben almacenarse en la memoria NameNode. Descripción de Cloudera, el valor por defecto se le asignará un máximo de 1 GB montón de bloques de datos por millón (pero no menos de 1 GB). Esto resulta en un límite práctico el número de objetos que pueden ser almacenados en HDFS, que medios para un gran número de archivos tienen grandes grupos, la memoria del sistema será el límite de expansión lateral del cuello de botella.

Mientras tanto, como un sistema de archivos escalable, soportar miles de nodos en un solo grupo. DataNode se puede extender bien en un único espacio de nombres, pero no puede extenderse lateralmente NameNode único espacio de nombres. Típicamente, los cuellos de botella HDFS se agrupan en una sola NameNode.

Introducido en Hadoop HDFS 2.x característica federal que permite que el sistema para lograr la expansión mediante la adición de múltiples NameNode, donde cada sistema de archivos parte de gestión NameNode del espacio en el nombre. Sin embargo, la necesidad administrador del sistema para mantener múltiples NameNodes y servicios de equilibrio de carga, que a su vez aumenta el coste de gestión.

2, la informática y Encuadernación almacenamiento

En los sistemas tradicionales de racimo Apache Hadoop, recursos informáticos y de almacenamiento están estrechamente unidas. En un clúster tal, cuando el espacio de almacenamiento o de recursos de cálculo, mientras que sólo dos para la expansión. Supongamos que la demanda de los usuarios para los recursos de almacenamiento es mucho mayor que la demanda de recursos de computación, entonces el usuario al mismo tiempo la expansión de cálculo y capacidad de almacenamiento, la expansión de nuevos recursos de computación se desperdician, por el contrario, se desperdician recursos de memoria. Esto resulta en una menor eficiencia económica de la expansión, el aumento de los costos.

Independent Computing extendida y almacenamiento más flexible, al tiempo que reduce significativamente los costos. Por lo que ahora se considera un depósito separado utilizando Hadoop tendencias de arquitectura se están haciendo evidentes, que se utiliza comúnmente Hadoop cliente S3A comunidad a la interfaz de almacenamiento de objetos externos.

3, los problemas de rendimiento HDFS

componentes básicos HDFS NameNode de los problemas de bloqueo globales han restringido el rendimiento HDFS, en particular, es una de las principales capacidades de procesamiento de factor de NameNode.

HDFS mecanismo utilizado en un tamaño de partícula más grueso de la cerradura global unificado para controlar lectura concurrente y escribir a modelo, las ventajas más evidentes de proceso de un tal, una cerradura de bloqueo global se pueden simplificar de bloqueo, reducir la complejidad. Sino que consiste en un impacto relativamente grande negativo es probable que cause un bloqueo global crear un cuello de botella.

NameNode se relaciona con la lógica de procesamiento central de dos de bloqueo: FSNamesystemLock (todos los HDFS solicitud de bloqueo global de escritura abstracta y global bloqueo de lectura) y FSEditLogLock (control primario modificar clave de metadatos, para una alta disponibilidad), el flujo del proceso a través de una solicitud RPC etapa de adquisición de dos de bloqueo, aunque dos son cerraduras independientes, en su caso de una cerradura no se puede adquirir oportunamente en dos, la RPC estará en estado de espera. tiempo de respuesta de otra solicitud de bloqueo afecta directamente el rendimiento.

Además, puesto que los bloqueos de escritura exclusivos, por lo que el más significativo impacto en el rendimiento adecuado. Cuando la solicitud de escritura se está procesando, todas las demás solicitudes deben ponerse en cola hasta que la solicitud de escritura actual se procesa para liberar el bloqueo. Cuando aumenta el tamaño del racimo y se incrementa la carga, el bloqueo global NameNode se convertirán gradualmente en un cuello de botella.

04. deficiencias s3a

Nativo Hadoop contiene un conector de S3A, Amazon Web Services basada (AWS) SDK logra. S3A Hadoop Hadoop permite clúster conexión a cualquier almacenamiento de objetos compatible con S3.

XSKY productos de almacenamiento de objetos XEOS protocolo compatible S3, S3A pueden conectarse mediante la interacción con la aplicación Hadoop, pero existen limitaciones en esta forma relativamente grande.

A través de la figura, puede verse por los datos de la carga de cliente de aplicación S3A Hadoop, la necesidad de llamar la solicitud SDK S3 HTTP se encapsula entonces en un objeto a una ruta XEOS, a continuación, transmitida por el objeto S3 se encamina a la pasarela de XEOS, y finalmente a través de S3 gateway XEOS los datos se escriben en el clúster de almacenamiento, con el fin de lograr el propósito de los datos cargados. Descargar el archivo es la misma razón.

Aunque S3A lograr la misma separación de la computación y almacenamiento, pero hay algunos problemas en la estructura y protocolo de compatibilidad básica:

▪ Dado que todos los objetos de datos están obligados a pasar a través de la puerta de enlace de enrutamiento y S3, por lo que el camino IO será más de un objeto y S3 de puerta de enlace de enrutamiento del salto;

▪ S3A porque por S3 SDK se implementa, no es compatible con estándar de sistema de archivos Hadoop adicionales de escritura;

▪ S3A porque S3 utilizando protocolos estándar, se ve obligada a hacer más juicios en algunas interfaces parciales de tipo de documento, lo que lleva a la lógica del lado del cliente compleja. Como un directorio juez, que requiere múltiples solicitudes REST para completar, mientras que demasiados solicitud REST afectará al rendimiento.

05. XSKY HDFS cliente entró en vigor

S3A fin de resolver el problema, XSKY desarrollado XSKY HDFS Client conectores --XEOS computación clúster de almacenamiento y racimos de Hadoop medida.

Por XSKY HDFS cliente (en adelante, "XHC"), la aplicación Hadoop puede acceder a todos los datos almacenados en XEOS, lo que evita la aplicación Hadoop tradicional antes de realizar el análisis de datos, sino también a los datos almacenados por el análisis del negocio móvil almacenados en HDFS , que es proceso ETL común.

XSKY HDFS cliente equivalente de HDFS DFSClient, proporciona API del sistema de archivos estándar para aplicaciones de Hadoop Hadoop. En cada nodo de computación, la aplicación utilizará sistema de archivos (JAR) Hadoop XSKY HDFS cliente para realizar operaciones de Hadoop, y escudos de la complejidad de la interacción con la aplicación de clúster Hadoop XEOS. En el grupo XEOS, cada nodo de almacenamiento son equivalentes a la HDFS y NameNode DataNode.

06. Arquitectura e Implementación de XSKY HDFS Cliente

En comparación acceder a diferentes XEOS S3 A ​​través de la petición del paquete HTTP S3 SDK, XSKY HDFS cliente de acceso directo OSD clúster de almacenamiento, la IO camino mucho más corto.

XSKY HDFS cliente a través de estilo de interfaz de NFS XEOS racimo XEOS previstas para interactuar ventaja de esta aplicación se refleja principalmente en:

▪ Debido a la eliminación de la necesidad de un enrutamiento objeto y la puerta de enlace S3 esta capa, por lo que el rendimiento será mejor que S3A;

escribir la biblioteca NFS Gateway Interface ▪ XEOS tiene la función de escritura adicional, puede coincidir con el sistema de archivos de Hadoop para escribir una demanda adicional.


XSKY HDFS propio cliente es una aplicación del paquete JAR de Java. Como sistema de archivos compatible con Hadoop, necesidad del cliente XSKY HDFS a seguir la especificación API de Hadoop sistema de archivos para lograr, que es lograr abstracta Hadoop sistema de archivos, y OutputStream InputStream. En donde, XSKY HDFS cliente para lograr el Hadoop sistema de archivos de sistema de archivos de la lista principal, borrar, renombrar, mkdir las interfaces, el principal logro del objeto InputStream y OutputStream XEOS de las funciones de lectura y escritura.

XSKY HDFS Cliente aplicación Java llamada Hadoop por la tecnología JNI (Java Native Interface) en la llamada librgw.so local y, finalmente, el acceso a la agrupación XEOS. En los nodos de computación deben ser desplegado paquete JAR XSKY HDFS cliente, librgw.so bibliotecas y tan dependiente y archivos de configuración.

07. implementación automática XSKY HDFS Cliente

XSKY HDFS cliente debe ser desplegado en todos los nodos de computación necesidad de almacenar el acceso XEOS. XSKY automatizado proporciona herramientas de implementación para simplificar el proceso de implementación.

En uso, XSKY HDFS cliente necesita ser configurado en el núcleo-site.xml nodos de archivos informáticos. Después se carga la aplicación de configuración de núcleo-site.xml Hadoop, será obtener el esquema de relación de correspondencia con XSKY HDFS Cliente de. Tales como el uso de "EOS: // localhost / usuario / dir /" cuando se accede, Hadoop se llega a "EOS" este esquema y dibujando un mapa de la relación, elija XSKY HDFS cliente para procesar la solicitud. La final XSKY HDFS cliente llama XEOS la interfaz NFS para la comunicación mango con la realización de XEOS.

En hilo (MapReduce2) como un ejemplo, en el ejemplo usado XEOS Hadoop sigue. JobClient se presentará a la de empleo, hilo hará Empleo Mapa y reducir dividida en varias sub-tareas y llevar a cabo. XEOS se puede acceder por XSKY HDFS cliente en el mapa o reducir etapa, leen y operaciones de escritura.

08. archivos XSKY MergeCommitter segundos co técnicos

Salida Committer es MapReduce de Hadoop presentó protocolo. En realidad, es un conjunto de interfaces abstractos, incluyendo la disposición de trabajo, el programa de instalación de tareas, tareas Commit, Tarea Abortar, Commit Trabajo, Empleo Abortar, Trabajo de limpieza, la recuperación del empleo.

En trabajo Hadoop MapReduce enviada por el usuario a dividirse en una pluralidad de tarea (mapa respectivamente tarea y el reducir tarea) en la tarea y ejecutar la pluralidad de nodos, la ejecución de la tarea se ha completado, el resultado de la ejecución es salida a través de la salida de protocolo de confirmación almacenado en el directorio resultado final.

Cualquier trabajo terminará antes de que el trabajo a través de los nodos del clúster para llevar a cabo, y puede ocurrir fuera una parte clave de la ejecución del trabajo. Sin embargo, a menos que la salida de protocolo de compromiso requiere que todas las tareas en espera de que el conductor de trabajo de la señal, o la petición no puede ser instanciado su producción en la tarea directorio definitiva que puede ser utilizado para dar salida a la tarea con éxito de elevación a presentar el trabajo del estado para hacer frente a la ejecución especulativa y fracasos.

Por lo tanto, la salida de cometer necesidad de manejar cuando el fracaso del conductor de trabajo y reiniciar, reinicie el controlador único trabajo volver a ejecutar la tarea sin terminar; cuando se reinicia el trabajo se ha completado, la recuperación es completa salida de la tarea para la presentación.

FileOuptputCommitter está en Hadoop MapReduce confirmador por defecto. Su algoritmo se divide en dos versiones, a saber, "V1" y "V2".

"V2" algoritmo "V1" procesos algoritmo general similares, excepto que "V2" directamente a la salida de la tarea presentada por taskAttemptPath a $ directorio dest. Durante la ejecución, el intermedio de datos para ser visible. Cuando falla de empleo, debe quitar toda la producción y reiniciar el trabajo.

En comparación con el sistema de archivos "real", S3A almacén de objetos (y la mayoría de otros objetos similares) no son compatibles con cambio de nombre (). Para cambiar el nombre de simular, conector Hadoop S3A debe copiar los datos a un nuevo nombre de archivo de destino objetivo, a continuación, elimine la entrada original. Esta copia puede ser ejecutado en el servidor, pero debido a que no se completará hasta la terminación de la replicación en un clúster, por lo que toma tiempo proporcional a la cantidad de datos.

Cambiar el nombre del costo es la pregunta más obvia, pero la más peligrosa es la lista de rutas no garantizan la permanencia. S3 de almacenamiento de objetos es débil consistencia es la operación asincrónica, la operación de copia, aunque el rendimiento es satisfactorio, pero el cliente en la lista de la aplicación de un directorio, es posible ver este documento. Si el archivo no está en la lista, operación de confirmación no los copiará, por lo que no aparecen en el resultado final.

Para S3 compatible con el protocolo committer almacén de objetos Hay dos principales implementación de código abierto: Staging and Magic Committer Committer.

S3 objetos de protocolo compatible almacenados en la consistencia de rendimiento se clasifican a grandes rasgos en una consistencia final (baja consistencia), y dos tipos de consistencia fuerte. Puesta en escena y la magia Committer Committer están sesgadas hacia el apoyo a la consistencia débil del sistema de almacenamiento. Para el protocolo S3 fuertemente coherente de almacenamiento de objetos compatible hay necesidad de introducir consistencia montaje.

Puesta en escena Committer: Se requiere que el confirmador en el proceso de primera escritura de datos local, y luego se sometió al almacén de objetos S3, ineficiente. Y la necesidad de introducir una tercera parte de los sistemas de almacenamiento de consistencia fuertes (tales como HDFS), que traerá la complejidad de la arquitectura, operación y mantenimiento para mejorar el grado de dificultad.

Magia Committer: El segmento committer subido a presentar tarea usando el archivo de salida, pero no distingue el tamaño del archivo, generalmente se recomienda para archivos grandes (por ejemplo, 100M o más) que utilizan el segmento cargado para mejorar la eficiencia de carga, y si la magia Committer lo pequeño que los archivos se cargan usando segmentada, lo que resulta en una baja eficiencia IO. Necesidad de detener la tarea de lectura y trabajo de cometer cometer etapa, de escritura, de combinación de archivos .pendingset afecta la eficiencia IO. El Committer fue lanzado en versión Hadoop3 no soporta la versión Hadoop2 de la corriente principal del mercado actual.

Combinar el confirmador XSKY , objetos personalizados usando los metadatos almacenados con las segundas características de acoplamiento de archivos resolver los problemas anteriores. Los archivos pueden ser segundos, junto con uno o más objetos en un objeto nuevo, y se guardan en el directorio especificado. El contenido del nuevo objeto es una colección de todo el contenido del archivo resultante de la fusión, organizado secuencialmente de acuerdo con la lista de archivos de entrada. Y una segunda complejidad del tiempo de compromiso es O (1) la operación atómica.

09. resumen

XSKY HDFS Cliente En principio, la función y el rendimiento debe ser mucho más fuerte que el S3A, el rendimiento real de prueba en una institución financiera no ha defraudado.

1, pruebas de rendimiento

De acuerdo con "los métodos de prueba de rendimiento de la plataforma Hadoop" China Telecommunications Research Institute de la Información, las pruebas de rendimiento de la plataforma de datos grandes generalmente consideran cuatro aspectos principales: la tarea SQL, tareas NoSQL, aprendizaje automático, procesamiento por lotes. Aquí la principal opción para tareas de prueba de comparación en SQL, tareas NoSQL, por lotes y de código abierto plataforma de Hadoop.

2, ilustra el uso

Los principales casos de uso en el que el lote de datos seleccionado 1T ordenados TeraSort herramienta de prueba estándar; tarea seleccionada usando los datos del archivo del NoSQL HBase Blukload herramienta 400G .csv en la prueba; Colmena Únete a prueba utilizando la gran mesa de 500G + 500G unirse, 500M + 500G tamaño de unión de tablas, y el tamaño de la tabla 500M + 500G MapJoin varios sub-prueba.

3, los resultados de la prueba

XEOS no sólo en DFSIO por encima de un rendimiento excepcional, el rendimiento en SQL, NoSQL, parte de un lote ha mejorado.

Los resultados son como sigue:

El uso de XEOS almacenamiento de objetos en lugar de HDFS también tiene el beneficio de un número de tiendas por separado, con las características de la empresa y las capacidades de recuperación de desastres XEOS poderosa, XEOS se convertirá en la base de datos ideal empresa del lago.

Publicados 101 artículos originales · ganado elogios 64 · Vistas a 50000 +

Supongo que te gusta

Origin blog.csdn.net/aa541505/article/details/105221425
Recomendado
Clasificación