¿Qué es YARN?

YARN (Yet-Another-Resource-Negotiator) es el nombre que se le ha dado a la nueva generación de MaReduce (MRv2).

Sobre MapReduce 1.X ofrece estos cambios:

· Hadoop 2.x no distingue recursos como slots Map y Reduce

· La gestión del scheduling y de las tareas se separan. El gestor de recursos y de tareas se mueven al Application Master.

· El Application Master negocia los recursos con el Resource Manager, y gestiona el ciclo de vida del job hasta que se complete

Gráficamente puede mostrarse así:

Los elementos que intervienen son:

· Resource Manager provee un endpoint a los clientes para hacer la solicitud de trabajos. Tiene ApplicationsManager incorporados que gestionan los trabajos en el cluster.

· Node Manager hay uno por nodo esclavo, es el responsable de la monitorización y gestión de los recursos. Recoge las directrices del ResourceManager y crea contenedores basado en los requerimientos de la tarea.

· Application master se despliega junto al NodeManager. Es creado por Job y controla la monitorización y la ejecución de las tareas usando el contenedor. Negocio los requerimientos de los recursos para el Job con el ResourceManager y tiene la responsabilidad de completar las tareas. proporciona la tolerancia a fallos a nivel de tarea.

· Container es la unidad básica de la asignación en lugar de un Map o Reduce slot en Hadoop 1.x. El contenedor se define con atributos como la memoria, CPU, disco etc,… aplicaciones como procesamiento gráfico y MPI.

· History Server mantiene la historia de todos los Jobs

YARN (MRV2) mantiene compatibilidad de API con Hadoop 1.x (0.20), por lo que todos los trabajos Map-Reduce siguen corriendo simplemente con una recompilación.

Deja un comentario