APACHE HADOOP: COMO FUNCIONAN HDFS, MAPREDUCE Y YARN

Apache Hadoop es un framework diseñado para almacenar y procesar grandes volúmenes de datos de forma distribuida. Su arquitectura se basa en tres componentes clave: HDFS, que permite guardar datos en bloques a través de varios nodos; MapReduce, que procesa la información en paralelo; y YARN, que gestiona los recursos del clúster. Gracias a estos elementos, Hadoop ofrece escalabilidad, tolerancia a fallos y eficiencia en el análisis de Big Data. Es una tecnología fundamental en entornos donde se manejan datos masivos.

[BIG DATA] APACHE HADOOP: COMO FUNCIONAN HDFS, MAPREDUCE Y YARN

¿Qué es Hadoop?

Hadoop es un framework de código abierto diseñado para trabajar con conjuntos de datos enormes, que superan la capacidad de las bases de datos tradicionales. Su fortaleza radica en que distribuye tanto el almacenamiento como el procesamiento entre varios nodos o servidores, lo que garantiza tolerancia a fallos y una capacidad casi ilimitada para crecer.

Componentes Principales

Los tres componentes principales son HDFSMapReduce y YARN, cada uno con una función específica dentro del ecosistema.

HDFS: El almacenamiento distribuido

El Hadoop Distributed File System (HDFS) es el sistema encargado de almacenar los datos dentro del clúster. Su funcionamiento se basa en dividir los archivos en bloques que se distribuyen entre diferentes nodos, garantizando la disponibilidad mediante réplicas automáticas.

Entre sus ventajas destacan:

  • Gestión de archivos extremadamente grandes

  • Tolerancia a fallos a través de la replicación

  • Alto rendimiento gracias al procesamiento paralelo

MapReduce: Procesamiento paralelo

MapReduce es el modelo de programación que permite procesar los datos almacenados en HDFS. Este se divide en dos etapas:

  • Map: toma los datos de entrada y los transforma en pares clave-valor.

  • Reduce: agrupa y combina esos valores para producir un resultado final.

Este enfoque hace que múltiples nodos trabajen simultáneamente, reduciendo significativamente el tiempo necesario para procesar grandes volúmenes de información.

YARN: El cerebro que gestiona los recursos

YARN (Yet Another Resource Negotiator) es el componente que actúa como administrador de recursos del clúster.

Se encarga de:

  • Asignar RAM, CPU y contenedores a cada proceso.

  • Controlar qué nodos ejecutan Map y cuáles ejecutan Reduce.

  • Reiniciar tareas si un nodo falla.

  • Garantizar que los trabajos del usuario se ejecuten eficientemente.

¿Cómo funciona Hadoop en conjunto?

  1. Subes un archivo a HDFS
    HDFS divide el archivo en bloques y los replica automáticamente entre los nodos del clúster para garantizar disponibilidad y tolerancia a fallos.

  2. Envías un trabajo MapReduce
    YARN recibe la solicitud y divide el trabajo en múltiples tareas pequeñas que pueden ejecutarse en paralelo.

  3. Los nodos ejecutan los Mappers
    Cada nodo procesa localmente los bloques de datos que tiene almacenados, generando pares clave-valor.

  4. Hadoop agrupa y ordena los resultados (Shuffle & Sort)
    El sistema organiza todos los pares clave-valor y los agrupa por clave para preparar la fase final.

  5. Los nodos ejecutan los Reducers
    Cada Reducer combina los valores asociados a una misma clave y produce un resultado final consolidado.

  6. El resultado se guarda nuevamente en HDFS
    El output final del trabajo MapReduce se almacena en el sistema distribuido, listo para ser usado o consultado.

Ejemplo conteo de palabras

Entrada en HDFS:

HDFS.guardar("/entrada/texto.txt")

Mapper:

MAP(linea):
    palabras = dividir(linea)
    para cada palabra en palabras:
        emitir (palabra, 1)

Shuffle(Hadoop automáticamente):

("hadoop", [1,1,1])
("data", [1])

Reducer:

REDUCE(palabra, lista):
    total = sumar(lista)
    emitir (palabra, total)

Salida en HDFS:

/salida/wordcount/part-00000
hadoop 3
data 1

CONCLUSIÓN

Apache Hadoop continúa siendo una tecnología fundamental en el mundo del Big Data. Gracias a HDFS, MapReduce y YARN, este framework permite almacenar y procesar datos masivos de forma distribuida y confiable. Aunque han surgido soluciones modernas como Apache Spark, Hadoop sigue siendo ampliamente utilizado en empresas que necesitan manejar grandes volúmenes de información y construir arquitecturas de análisis a gran escala.

Autora: Janneth Llicahua

No hay comentarios:

Publicar un comentario