¿Qué es Hadoop Yarn? Introducción

Última actualización: 20/07/2020

En este artículo hablamos de los conceptos fundamentales de Yarn en Hadoop. Aprende sobre sus componentes principales y su arquitectura para Big Data.

Qué es Hadoop Yarn

En estos artículos tenemos la introducción a los otros dos componentes de Apache Hadoop:

Introducción a YARN

Yarn (Yet Another Resource Negotiator) es una pieza fundamental en el ecosistema Hadoop. Es el framework que permite a Hadoop soportar varios motores de ejecución incluyendo MapReduce, y proporciona un planificador agnóstico a los trabajos que se encuentran en ejecución en el clúster. Esta mejora de Hadoop también es conocida como Hadoop 2.

Yarn separa las dos funcionalidades principales: la gestión de recursos y la planificación y monitorización de trabajos. Con esta idea, es posible tener un gestor global (Resource Manager) y un Application Master por cada aplicación.

Apache Hadoop 1 vs 2 Yarn
Evolución de Apache Hadoop

Se divide en tres componentes principales: Resource Manager, Node Manager y Application Master.

Resource Manager

El Resource Manager (RM) tiene dos componentes: El Scheduler y el Applications Manager.

El Scheduler o planificador es el encargado de gestionar la distribución de los recursos del clúster de Yarn. Además, las aplicaciones usan los recursos que el Resource Manager les ha proporcionado en función de sus criterios de planificación. Este planificador no monitoriza el estado de ninguna aplicación ni les ofrece garantías de ejecución.

Por otro lado, el Applications Manager es el componente del Resource Manager responsable de aceptar las peticiones de trabajos, negociar el contenedor en el que ejecutar la aplicación y proporcionar reinicios de los trabajos en caso de que fuera necesario debido a errores.

El Resource Manager mantiene un listado de los Node Manager activos y de sus recursos disponibles. Los clientes del sistema pueden enviar una aplicación Yarn soportada para ejecutar al Resource Manager.

Node Manager

El Node Manager (NM) gestiona los trabajos con las instrucciones del Resource Manager y proporciona los recursos computacionales necesarios para las aplicaciones en forma de contenedores. Implementa Heartbeats para mantener informado del estado al Resource Manager.

Los contenedores Yarn tienen una asignación de recursos (cpu, memoria, disco y red) fija de un host del clúster y el Node Manager es el encargado de monitorizar esta asignación. Mapean las variables de entorno necesarias, las dependencias y los servicios necesarios para crear los procesos.

Arquitectura Hadoop Yarn
Arquitectura de Hadoop Yarn

Application Master

El Application Master (AM) es el responsable de negociar los recursos apropiados con el Resource Manager y monitorizar su estado y su progreso. También coordina la ejecución de todas las tareas en las que puede dividirse su aplicación.

Secuencia de trabajo en Hadoop YARN

  1. El cliente envía una aplicación Yarn.
  2. Resource Manager reserva los recursos en un contenedor para su ejecución.
  3. El Application Manager se registra con el Resource Manager y pide los recursos necesarios.
  4. El Application Manager notifica al Node Manager la ejecución de los contenedores.
  5. Se ejecuta la aplicación Yarn en el contenedor correspondiente.
  6. El Application Master monitoriza la ejecución y reporta el estado al Resource Manager y al Application Manager.
  7. Al terminar la ejecución, el Application Manager lo notifica al Resource Manager.

Para conseguir una alta escalabilidad, Yarn ofrece federación. Esta funcionalidad permite conectar varios clústeres Yarn y hacerlos visibles como un clúster único. De esta forma puede ejecutar trabajos muy pesados y distribuidos.

Siguientes pasos y formación

Aprende Hadoop a fondo con este curso:

También te recomiendo el siguiente libro fundamental:

Preguntas Frecuentes Hadoop YARN – FAQ

¿Cuál es la función de Yarn en Hadoop?

Yarn es el componente de Apache Hadoop encargado de planificar los trabajos en un clúster y gestionar los recursos hardware de los que se disponen para ejecutar las aplicaciones Big Data.

¿Qué componentes tiene Hadoop Yarn?

Yarn tiene 3 componentes principales. El primero es el Resource Manager, encargado de gestionar los recursos del clúster. El segundo es el Node Manager, responsable de gestionar los contenedores en los que se ejecutan las aplicaciones en los nodos. El tercer componente es el Application Master, gestor del ciclo de vida de las aplicaciones.

¿Cuál es la diferencia entre MapReduce y Yarn?

Yarn es el componente de Apache Hadoop responsable de gestionar los recursos y planificar los trabajos. MapReduce es el framework de programación o paradigma que indica la forma en la que ejecutar los trabajos distribuidos por medio de las fases map y reduce.


A continuación, el vídeo-resumen. ¡No te lo pierdas!


¡Echa un ojo a mi lista de reproducción de Big Data en Youtube!

Si te ayuda el contenido del blog, por favor considera unirte a la lista de correo para reconocer el trabajo!

Deja una respuesta