Hadoop YARN Architecture - Varios componentes de HILO

Tabla de contenido:

Anonim

Introducción a la arquitectura Hadoop YARN

MapReduce se utilizó para realizar la gestión y el procesamiento de recursos en la versión anterior de Hadoop 1.0. Aquí Job Tracker realizó tareas de asignación, programación y monitoreo de recursos asignando mapas y reduciendo tareas a Task Tracker. Esto dio lugar a problemas como la escalabilidad, la utilización ineficiente de los recursos. Como el marco Hadoop ha sufrido varios cambios a lo largo de los años; podemos ver que se puede usar para realizar mucho más que solo ejecutar los trabajos de MapReduce. YARN significa Yet Another Resource Negotiator, que se llama el sistema de gestión de clúster de Hadoop, que se introdujo con Hadoop 2.0 para admitir la informática distribuida que también mejora la implementación de MapReduce. En YARN, el administrador de recursos y los planificadores son externos al marco. Entonces, en YARN, aunque tenemos nodos de datos, ya no hay rastreadores de tareas o rastreadores de trabajos. También con YARN, podemos tener gestión de recursos y programación genérica. En este tema, vamos a aprender sobre las diferentes arquitecturas de YARN

Explicar la arquitectura Hadoop YARN con diagrama

(Arquitectura de Hadoop HILO)

YARN presenta el concepto de Resource Manager y Application Master en Hadoop 2.0. El Administrador de recursos ve el uso de los recursos en el clúster de Hadoop, mientras que el ciclo de vida de las aplicaciones que se ejecutan en un clúster particular es supervisado por el maestro de aplicaciones. Básicamente, podemos decir que para los recursos del clúster, el Maestro de aplicaciones negocia con el Administrador de recursos. Esta tarea la llevan a cabo los contenedores que contienen restricciones de memoria definidas. Luego, estos contenedores se utilizan para ejecutar los procesos específicos de la aplicación y también estos contenedores son supervisados ​​por los administradores de nodos que se ejecutan en los nodos del clúster. Esto confirmará que la aplicación no utiliza más que los recursos asignados.

Varios componentes de HILO

A continuación se presentan los diversos componentes de HILO.

1) Gerente de recursos

YARN funciona a través de un Administrador de recursos que es uno por nodo y el Administrador de nodos que se ejecuta en todos los nodos. El Administrador de recursos administra los recursos utilizados en el clúster y el Administrador de nodos almuerza y ​​monitorea los contenedores. El Programador y el Administrador de aplicaciones son dos componentes del Administrador de recursos.

  • Programador : la programación se realiza en función de los requisitos de recursos de las aplicaciones. YARN proporciona pocos programadores para elegir y son programadores justos y de capacidad. En caso de cualquier falla de hardware o aplicación, el Programador no se asegura de reiniciar las tareas fallidas. Además, Scheduler asigna recursos a las aplicaciones en ejecución en función de la capacidad y la cola.
  • Administrador de aplicaciones : gestiona la ejecución de Application Master en un clúster y, si falla el Application Master Container, ayuda a reiniciarlo. Además, tiene la responsabilidad de aceptar la presentación de los trabajos.

2) Administrador de nodos

Node Manager es responsable de la ejecución de la tarea en cada nodo de datos. El Administrador de nodos en YARN por defecto envía un latido al Administrador de recursos que lleva la información de los contenedores en ejecución y con respecto a la disponibilidad de recursos para los nuevos contenedores. Es responsable de atender a los nodos del clúster individualmente y gestiona el flujo de trabajo y los trabajos del usuario en un nodo específico. Principalmente gestiona los contenedores de aplicaciones asignados por el Administrador de recursos. El Administrador de nodos inicia los contenedores creando los procesos de contenedor que se solicitan y también los elimina según lo solicite el Administrador de recursos.

3) contenedores

Los contenedores son un conjunto de recursos como RAM, CPU y memoria, etc. en un solo nodo y son programados por Resource Manager y monitoreados por Node Manager. El ciclo de vida del contenedor administra los contenedores YARN utilizando el contexto de inicio del contenedor y proporciona acceso a la aplicación para el uso específico de los recursos en un host en particular.

4) Maestro de aplicaciones

Supervisa la ejecución de tareas y también gestiona el ciclo de vida de las aplicaciones que se ejecutan en el clúster. Un Application Master individual se asocia con un trabajo cuando se envía al marco. Su responsabilidad principal es negociar los recursos del Administrador de recursos. Funciona con el Node Manager para monitorear y ejecutar las tareas.

Para ejecutar una aplicación a través de YARN, se realizan los siguientes pasos.

  • El cliente contacta al Administrador de recursos que solicita ejecutar el proceso de solicitud, es decir, envía la aplicación YARN.
  • El siguiente paso es que el Administrador de recursos busque un Administrador de nodos que, a su vez, inicie el Maestro de aplicaciones en un contenedor.
  • Application Master puede ejecutar la ejecución en el contenedor en el que se está ejecutando actualmente y proporcionar el resultado al cliente o puede solicitar más contenedores al administrador de recursos, lo que se puede llamar computación distribuida.
  • El cliente luego contacta al Administrador de recursos para monitorear el estado de la aplicación.

Con MapReduce en Hadoop versión 1.0 (MRV1), se definió el número de mapas y espacios reducidos por nodo. También en un clúster de Hadoop, ya que las capacidades de hardware variaban y la cantidad de tareas en un nodo específico debía limitarse manualmente. Pero con YARN, esta deficiencia se supera porque aquí el Administrador de recursos conoce la capacidad de cada nodo a medida que se comunica con el Administrador de nodos que se ejecuta en cada nodo.

Conclusión - Hadoop YARN Architecture

YARN ayuda a superar el problema de escalabilidad de MapReduce en Hadoop 1.0, ya que divide el trabajo de Job Tracker, tanto en la programación del trabajo como en el monitoreo del progreso de las tareas. Además, el problema de disponibilidad también se supera, ya que anteriormente en Hadoop 1.0, la falla de Job Tracker condujo al reinicio de las tareas. YARN viene con muchos bonos adicionales, como una mejor utilización de los recursos, ya que no hay un espacio fijo para las tareas, ya que proporciona una gestión central de los recursos. Entonces, con YARN, muchos de los problemas que se enfrentan en la versión anterior de Hadoop se superan, ya que ayuda a segregar el procesamiento de datos de la programación y la gestión de recursos. Con YARN, es posible ejecutar consultas interactivas de forma independiente, así como proporcionar un mejor análisis en tiempo real.

Artículos recomendados

Esta ha sido una guía de Hadoop YARN Architecture. Aquí discutimos los diversos componentes de YARN que incluyen Resource Manager, Node Manager y Containers junto con la Arquitectura. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. Ecosistema Apache Hadoop
  2. Componentes del ecosistema de Hadoop
  3. Componentes Hadoop
  4. Ecosistema Hadoop