Clúster de Hadoop
¿Qué es un clúster de Hadoop?
Apache Hadoop es un marco de software de código abierto basado en Java y un motor de procesamiento de datos en paralelo. Permite que las tareas de procesamiento de análisis de big data se dividan en tareas más pequeñas que se pueden realizar en paralelo mediante el uso de un algoritmo (como el algoritmo MapReduce) y distribuyéndolas en un clúster de Hadoop. Un clúster de Hadoop es una colección de computadoras, conocidas como nodos, que están conectadas en red para realizar este tipo de cálculos paralelos en conjuntos de big data. A diferencia de otros clústeres informáticos, los clústeres de Hadoop están diseñados específicamente para almacenar y analizar grandes cantidades de datos estructurados y no estructurados en un entorno de cómputo distribuido. Además, los ecosistemas de Hadoop se distinguen de otros clústeres informáticos por su estructura y arquitectura únicas. Los clústeres de Hadoop consisten en una red de nodos maestros y esclavos conectados que utilizan hardware básico de alta disponibilidad y bajo costo. La capacidad de escalar linealmente y agregar o restar nodos rápidamente según las demandas de volumen los hace adecuados para trabajos de análisis de big data con conjuntos de datos de tamaño muy variable.
Más temas para descubrir
Arquitectura del clúster de Hadoop
Los clústeres de Hadoop están compuestos por una red de nodos maestros y de trabajo que orquestan y ejecutan los diversos trabajos en todo el sistema de archivos distribuido de Hadoop. Los nodos maestros suelen usar hardware de mayor calidad e incluyen NameNode, Secondary NameNode y JobTracker, cada uno de los cuales se ejecuta en una máquina separada. Los nodos de trabajo consisten en máquinas virtuales que ejecutan los servicios DataNode y TaskTracker en hardware de bajo costo, y realizan el trabajo real de almacenar y procesar las tareas según las indicaciones de los nodos maestros. La parte final del sistema son los nodos de cliente, que se encargan de cargar los datos y obtener los resultados.

- Los nodos maestros son responsables de almacenar datos en HDFS y supervisar operaciones clave, como ejecutar cálculos paralelos en los datos mediante MapReduce.
- Los nodos de trabajo comprenden la mayoría de las máquinas virtuales en un clúster de Hadoop y realizan la tarea de almacenar los datos y ejecutar cálculos. Cada nodo de trabajo ejecuta los servicios DataNode y TaskTracker, que se usan para recibir las instrucciones de los nodos maestros.
- Los nodos cliente se encargan de cargar los datos en el clúster. Los nodos cliente primero envían trabajos de MapReduce que describen cómo deben procesarse los datos y luego obtienen los resultados una vez finalizado el procesamiento.
¿Qué es el tamaño de clúster en Hadoop?
El tamaño de un clúster de Hadoop es un conjunto de métricas que definen las capacidades de almacenamiento y cómputo para ejecutar cargas de trabajo de Hadoop, a saber:
- Número de nodos: número de nodos maestros, número de nodos de borde, número de nodos de trabajo.
- Configuración de cada tipo de nodo: cantidad de núcleos por nodo, RAM y volumen de disco.
¿Cuáles son las ventajas de un clúster de Hadoop?
- Los clústeres Hadoop pueden aumentar la velocidad de procesamiento de muchos trabajos de análisis de datos masivos, dada su capacidad para dividir grandes tareas computacionales en tareas más pequeñas que se pueden ejecutar de forma paralela y distribuida.
- Los clústeres de Hadoop son f ácilmente escalables y pueden agregar nodos rápidamente para aumentar el rendimiento y mantener la velocidad de procesamiento, cuando se enfrentan al aumento de bloques de datos.
- El uso de hardware básico de bajo costo y alta disponibilidad hace que los clústeres de Hadoop sean relativamente fáciles y económicos de configurar y mantener.
- Los clústeres Hadoop replican un conjunto de datos en todo el sistema de archivos distribuido, lo que los hace resistentes a la pérdida de datos y a los fallos del clúster.
- Los clústeres Hadoop permiten integrar y aprovechar datos procedentes de múltiples sistemas y formatos de datos diferentes.
- Es posible implementar Hadoop con una instalación de un solo nodo, con fines de evaluación.
¿Cuáles son los desafíos de un clúster de Hadoop?
- Problema con archivos pequeños: Hadoop tiene problemas con volúmenes grandes de archivos pequeños, que por defecto son más pequeños que el tamaño de bloque de Hadoop de 128 MB o 256 MB. No fue diseñado para soportar big data de forma escalable. En cambio, Hadoop funciona bien cuando hay un pequeño número de archivos grandes. En última instancia, cuando se aumenta el volumen de archivos pequeños, se sobrecarga el Namenode, ya que almacena el espacio de nombres del sistema.
- El elevado costo de procesamiento, las operaciones de lectura y escritura en Hadoop pueden volverse muy costosas rápidamente, en especial, al procesar grandes cantidades de datos. Todo esto se debe a la incapacidad de Hadoop para realizar procesamiento en memoria y, en su lugar, los datos se leen y escriben desde y hacia el disco.
- Solo se admite el procesamiento por lotes. Hadoop está diseñado para volúmenes pequeños de archivos grandes en lotes. Esto se remonta a la forma en que se recopilan y almacenan los datos. Todo lo cual debe hacerse antes de que comience el procesamiento. Lo que esto significa en última instancia es que los datos de transmisión no son compatibles y no puede realizar procesamiento en tiempo real con baja latencia.
- Procesamiento iterativo: Hadoop tiene una estructura de flujo de datos configurada en etapas secuenciales, lo que hace imposible realizar procesamiento iterativo o usarlo para ML.


