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