Red de conocimiento del abogados - Ley de patentes - Cómo construir un clúster Hadoop de alto rendimiento para el procesamiento de big data

Cómo construir un clúster Hadoop de alto rendimiento para el procesamiento de big data

Cada vez más empresas están empezando a utilizar Hadoop para procesar y analizar big data, pero el rendimiento general del clúster de Hadoop depende del equilibrio de rendimiento entre CPU, memoria, red y almacenamiento. En este artículo, exploraremos cómo construir una red de alto rendimiento para un clúster Hadoop, que es la clave para procesar y analizar big data.

Acerca de Hadoop

"Big data" es una colección vaga de datos. El crecimiento continuo de datos masivos obliga a las empresas a gestionarlos de una nueva manera. Big data es una gran colección de tipos de datos estructurados o no estructurados. Hadoop es una arquitectura de software lanzada por Apache para analizar petabytes de datos no estructurados y convertirlos en un formato que otras aplicaciones puedan administrar y procesar. Hadoop permite procesar big data y ayudar a las empresas a descubrir nuevas oportunidades comerciales a partir de los datos de los clientes. Si se puede procesar en tiempo real o casi en tiempo real, proporcionará poderosas ventajas a los usuarios de muchas industrias.

Hadoop está especialmente diseñado en base a MapReduce de Google y los principios del sistema de archivos distribuido. Puede implementarse en redes comunes y hardware de servidor y convertirse en un clúster informático.

Modelo de Hadoop

Hadoop funciona cortando un conjunto de datos muy grande en unidades más pequeñas que pueden procesarse mediante consultas. Los recursos informáticos del mismo nodo se utilizan para el procesamiento de consultas en paralelo. Cuando se procesa una tarea, sus resultados se resumen y se informan al usuario, o se procesan mediante una aplicación de análisis de negocios para su posterior análisis o visualización en el panel.

Para minimizar el tiempo de procesamiento, en esta arquitectura paralela, Hadoop "mueve trabajos a datos" en lugar de "mover datos a trabajos" como el modelo tradicional. Esto significa que una vez que los datos se almacenan en un sistema distribuido, durante operaciones como búsqueda, consulta o extracción de datos en tiempo real, como el acceso a datos locales, durante el proceso de procesamiento de datos, solo habrá un resultado de consulta local entre cada nodo. , por lo que puede reducir los gastos operativos.

La característica más importante de Hadoop es su procesamiento paralelo integrado y capacidades de expansión lineal, que pueden consultar grandes conjuntos de datos y generar resultados. Estructuralmente, Hadoop consta principalmente de dos partes:

Hadoop Distributed File System (HDFS) corta archivos de datos en bloques de datos y los almacena en múltiples nodos para proporcionar tolerancia a fallos y alto rendimiento. Excepto por grandes cantidades de E/S agregadas en múltiples nodos, el rendimiento a menudo depende del tamaño del bloque, digamos 128 MB. El tamaño típico de bloque de datos en un sistema Linux tradicional puede ser de 4 KB.

El motor MapReduce acepta trabajo de análisis del cliente a través del nodo JobTracker, utiliza un enfoque de "divide y vencerás" para descomponer una tarea más grande en múltiples tareas más pequeñas y luego las asigna a cada nodo TaskTrack y usa El modo de distribución de las estaciones maestra/esclava (como se muestra en la siguiente figura):

El sistema Hadoop tiene tres nodos funcionales principales: cliente, host y esclavo. El cliente inyecta archivos de datos en el sistema, recupera resultados del sistema y envía el trabajo de análisis a través del nodo host del sistema. El nodo host tiene dos funciones básicas: administrar el almacenamiento de datos de cada nodo en el sistema de archivos distribuido y los nodos esclavos, y administrar el seguimiento, la distribución y el procesamiento de tareas de los nodos esclavos Map/Reduce. El rendimiento real del almacenamiento de datos y el procesamiento analítico depende del rendimiento de los nodos esclavos que ejecutan los nodos de datos y los rastreadores de tareas, que están comunicados y controlados por sus respectivos nodos maestros. Los nodos esclavos suelen tener múltiples bloques de datos y están asignados para manejar múltiples tareas durante un trabajo.

El principal requisito para desplegar e implementar Hadoop

El hardware de cada nodo es el equilibrio de los cuatro recursos de computación, memoria, red y almacenamiento de la ciudad y el condado.

La solución comúnmente utilizada y considerada la "mejor" es utilizar hardware heredado de costo relativamente bajo, implementar suficientes servidores para cubrir cualquier posible falla e implementar un bastidor completo de sistemas.

El modo Hadoop requiere almacenamiento conectado directo (DAS) entre el servidor y SAN o NAS. Hay tres razones principales para usar DAS. En un clúster con configuraciones estandarizadas, se escalan miles de nodos. A medida que el costo, la baja latencia y los requisitos de capacidad de almacenamiento de los sistemas de almacenamiento continúan aumentando, la configuración y la implementación simples son una consideración importante. Con la popularidad de los discos rentables de 1 TB, se pueden almacenar en DAS terabytes de datos en grandes clústeres. Esto resuelve el dilema de utilizar métodos tradicionales para implementar SAN, que son extremadamente costosos. Una cantidad tan grande de almacenamiento hará que Hadoop y el almacenamiento de datos tengan un costo inicial prohibitivo. Un número considerable de implementaciones de Hadoop de usuarios utilizan servidores DAS de gran capacidad, con nodos de datos de aproximadamente 1 a 2 TB y nodos de control de nombres de aproximadamente 1 a 5 TB, como se muestra en la siguiente figura:

Fuente: Brad Hedlund, Dell Corporation

Para la mayoría de las implementaciones de Hadoop, otros factores que afectan la infraestructura también pueden depender de los accesorios, como tarjetas Gigabit Ethernet o conmutadores Gigabit Ethernet integrados en el servidor. La selección de hardware como CPU y memoria de la generación anterior puede basarse en las necesidades que satisfagan el modelo de costos, y la interfaz Gigabit Ethernet que coincida con los requisitos de velocidad de transmisión de datos se puede utilizar para construir una solución de bajo costo. Usar 10 Gigabit Ethernet para implementar Hadoop también es una buena opción.

El papel de 10 Gigabit Ethernet en el clúster Hadoop

El rendimiento de Gigabit Ethernet es un factor importante que restringe el rendimiento general del sistema Hadoop. Al utilizar tamaños de bloque más grandes, por ejemplo, si un nodo falla (o peor aún, todo un rack se cae), todo el clúster necesitará recuperar terabytes de datos, lo que podría exceder el Gigabit Ethernet. El ancho de banda de red que se puede proporcionar degradará el rendimiento. de todo el cúmulo. En grandes clústeres con decenas de miles de nodos, cuando se ejecutan ciertas cargas de trabajo que requieren una redistribución intermedia de resultados entre nodos de datos, durante el funcionamiento normal del sistema, un determinado dispositivo Gigabit Ethernet puede experimentar congestión de la red.

El objetivo de cada nodo de datos de Hadoop debe ser lograr un equilibrio entre CPU, memoria, almacenamiento y recursos de red. Si el rendimiento de cualquiera de los cuatro es relativamente pobre, la potencia de procesamiento potencial del sistema puede encontrarse con un cuello de botella. Agregar más componentes de CPU y memoria afectará el equilibrio de almacenamiento y red, cómo hacer que los nodos del clúster de Hadoop sean más eficientes en el procesamiento de datos, reducir los resultados y agregar más nodos de almacenamiento HDFS dentro del clúster de Hadoop.

Afortunadamente, la Ley de Moore, que afecta al desarrollo de la CPU y la memoria, también está afectando al desarrollo de la tecnología de almacenamiento (discos con capacidad de terabytes) y de la tecnología Ethernet (de Gigabit a Diez Gigabit o incluso superior). Actualizar los componentes del sistema por adelantado (como procesadores multinúcleo, discos con capacidad de 5 a 20 TB por nodo, memoria de 64 a 128 GB), componentes de red como tarjetas Ethernet de 10 Gigabit y conmutadores es la opción más razonable para reequilibrar los recursos. 10 Gigabit Ethernet demostrará su valor en los clústeres de Hadoop, y los altos niveles de utilización de la red brindarán un ancho de banda más eficiente. La siguiente figura muestra la conexión de un clúster de Hadoop a 10 GbE:

Muchos centros de datos empresariales han migrado a redes de 10 GbE para lograr la consolidación y virtualización de servidores. A medida que más y más empresas comienzan a implementar Hadoop, descubren que no necesitan implementar grandes cantidades de servidores en rack de 1U, sino que implementan menos servidores pero de mayor rendimiento para facilitar la expansión de la cantidad que puede ejecutar cada nodo de datos. tareas. Muchas empresas optan por implementar servidores de 2U o 4U (como Dell PowerEdge C2100), con aproximadamente entre 12 y 16 núcleos y una capacidad de almacenamiento de 24 TB por nodo. La opción lógica en este entorno es aprovechar al máximo los equipos de 10 GbE y las tarjetas de red de 10 GbE ya implementados en el clúster de Hadoop.

Cree un clúster Hadoop simple en su entorno de TI diario. Sin duda, los conceptos básicos son bastante simples, aunque hay muchos detalles que ajustar. Construir un sistema con un equilibrio de recursos informáticos, de almacenamiento y de red es fundamental para el éxito del proyecto. Para los clústeres de Hadoop con nodos densos, 10 Gigabit Ethernet puede proporcionar capacidades coincidentes para la expansión de los recursos informáticos y de almacenamiento sin causar una disminución en el rendimiento general del sistema.