Tutorial de Hadoop YARN: aprenda los fundamentos de la arquitectura YARN



Este blog se centra en Apache Hadoop YARN, que se introdujo en la versión 2.0 de Hadoop para la gestión de recursos y la programación de trabajos. Explica la arquitectura YARN con sus componentes y las funciones que desempeña cada uno de ellos. Describe el envío de la aplicación y el flujo de trabajo en Apache Hadoop YARN.

Hadoop YARN teje la unidad de almacenamiento de Hadoop, es decir, HDFS (Hadoop Distributed File System) con las diversas herramientas de procesamiento. Para aquellos de ustedes que son completamente nuevos en este tema, YARN significa ' Y y A no ella R fuente norte egoísta ”. También le sugiero que revise nuestro y antes de continuar con el aprendizaje de Apache Hadoop YARN. Explicaré los siguientes temas aquí para asegurarme de que al final de este blog su comprensión de Hadoop YARN sea clara.

¿Por qué YARN?

En Hadoop versión 1.0, que también se conoce como MRV1 (MapReduce Versión 1), MapReduce realizaba funciones de procesamiento y administración de recursos. Consistía en un Job Tracker que era el único maestro. Job Tracker asignó los recursos, realizó la programación y supervisó los trabajos de procesamiento. Asignó tareas de mapa y reducción en una serie de procesos subordinados denominados Task Trackers. Los rastreadores de tareas informaron periódicamente su progreso al rastreador de trabajos.





cómo alertar en javascript

MapReduce Versión 1.0 - Hadoop YARN - Edureka

Este diseño resultó en un cuello de botella de escalabilidad debido a un solo Job Tracker.IBM mencionó en su artículo que, según Yahoo !, los límites prácticos de tal diseño se alcanzan con un clúster de 5000 nodos y 40,000 tareas ejecutándose simultáneamente.Aparte de esta limitación, la utilización de recursos computacionales es ineficiente en MRV1. Además, el marco de Hadoop se limitó solo al paradigma de procesamiento MapReduce.



Para superar todos estos problemas, Yahoo y Hortonworks introdujeron YARN en la versión 2.0 de Hadoop en el año 2012. La idea básica detrás de YARN es aliviar MapReduce asumiendo la responsabilidad de la gestión de recursos y la programación de trabajos. YARN comenzó a darle a Hadoop la capacidad de ejecutar trabajos que no son de MapReduce dentro del marco de Hadoop.

También puede ver el video a continuación donde nuestro El experto está discutiendo los conceptos de YARN y su arquitectura en detalle.

Tutorial de hilo Hadoop | Arquitectura del hilo de Hadoop | Edureka

Con la introducción de YARN, el fue completamente revolucionado. Se volvió mucho más flexible, eficiente y escalable. Cuando Yahoo lanzó YARN en el primer trimestre de 2013, ayudó a la empresa a reducir el tamaño de su clúster Hadoop de 40.000 a 32.000 nodos. Pero el número de empleos se duplicó a 26 millones por mes.



Introducción a Hadoop YARN

Ahora que le he explicado la necesidad de YARN, permítame presentarle el componente principal de Hadoop v2.0, HILO . YARN permite diferentes métodos de procesamiento de datos como procesamiento de gráficos, procesamiento interactivo, procesamiento de flujo, así como procesamiento por lotes para ejecutar y procesar datos almacenados en HDFS. Por lo tanto, YARN abre Hadoop a otros tipos de aplicaciones distribuidas más allá de MapReduce.

YARN permitió a los usuarios realizar operaciones según los requisitos mediante el uso de una variedad de herramientas como para procesamiento en tiempo real, Colmena para SQL, HBase para NoSQL y otros.

Además de la gestión de recursos, YARN también realiza la programación de trabajos. YARN realiza todas sus actividades de procesamiento mediante la asignación de recursos y la programación de tareas. Apache Hadoop YARN Architecture consta de los siguientes componentes principales:

  1. Administrador de recursos : Se ejecuta en un demonio maestro y administra la asignación de recursos en el clúster.
  2. Administrador de nodo: Se ejecutan en los demonios esclavos y son responsables de la ejecución de una tarea en cada nodo de datos.
  3. Maestro de aplicaciones: Gestiona el ciclo de vida del trabajo del usuario y las necesidades de recursos de las aplicaciones individuales. Trabaja junto con el Administrador de Nodos y monitorea la ejecución de tareas.
  4. Envase: Paquete de recursos que incluyen RAM, CPU, Red, HDD, etc. en un solo nodo.

Componentes de YARN

Puede considerar a YARN como el cerebro de su ecosistema Hadoop. La siguiente imagen representa la arquitectura YARN.

los primer componente de YARN Architecture es,

Administrador de recursos

  • Es la máxima autoridad en la asignación de recursos. .
  • Al recibir las solicitudes de procesamiento, pasa partes de las solicitudes a los administradores de nodos correspondientes en consecuencia, donde tiene lugar el procesamiento real.
  • Es el árbitro de los recursos del clúster y decide la asignación de los recursos disponibles para las aplicaciones en competencia.
  • Optimiza la utilización del clúster, como mantener todos los recursos en uso todo el tiempo frente a diversas restricciones, como garantías de capacidad, equidad y SLA.
  • Tiene dos componentes principales:a) Programadorb)Gestor de aplicaciones

a) Programador

  • El planificador es responsable de asignar recursos a las diversas aplicaciones en ejecución sujetas a limitaciones de capacidad, colas, etc.
  • Se denomina programador puro en ResourceManager, lo que significa que no realiza ningún seguimiento ni seguimiento del estado de las aplicaciones.
  • Si hay una falla en la aplicación o en el hardware, el Programador no garantiza reiniciar las tareas fallidas.
  • Realiza la programación según los requisitos de recursos de las aplicaciones.
  • Tiene un complemento de política conectable, que se encarga de dividir los recursos del clúster entre las diversas aplicaciones. Hay dos complementos de este tipo: Programador de capacidad y Programador justo , que se utilizan actualmente como programadores en ResourceManager.

b) Administrador de aplicaciones

  • Es responsable de aceptar envíos de trabajos.
  • Negocia el primer contenedor del Administrador de recursos para ejecutar la aplicación Master específica.
  • Administra la ejecución de Application Masters en un clúster y proporciona servicio para reiniciar el contenedor Application Master en caso de falla.

Viniendo a la segundo componente cual es:

Administrador de nodo

  • Se ocupa de los nodos individuales en un clúster de Hadoop ygestiona los trabajos de usuario y el flujo de trabajo en el nodo dado.
  • Se registra con el Administrador de recursos y envía latidos con el estado de salud del nodo.
  • Su objetivo principal es administrar los contenedores de aplicaciones que le asigna el administrador de recursos.
  • Se mantiene actualizado con el Administrador de recursos.
  • Application Master solicita el contenedor asignado al Node Manager enviándole un Contexto de lanzamiento de contenedor (CLC) que incluye todo lo que la aplicación necesita para ejecutarse. El administrador de nodos crea el proceso de contenedor solicitado y lo inicia.
  • Supervisa el uso de recursos (memoria, CPU) de contenedores individuales.
  • Realiza la gestión de registros.
  • También mata el contenedor según las indicaciones del Administrador de recursos.

los tercer componente de Apache Hadoop YARN es,

Maestro de aplicaciones
  • Una solicitud es un único trabajo enviado al marco. Cada una de estas aplicaciones tiene un maestro de aplicaciones único asociado, que es una entidad específica del marco.
  • Es el proceso que coordina la ejecución de una aplicación en el clúster y también gestiona las fallas.
  • Su tarea es negociar los recursos del Administrador de recursos y trabajar con el Administrador de nodos para ejecutar y monitorear las tareas de los componentes.
  • Es responsable de negociar los contenedores de recursos adecuados desde ResourceManager, rastrear su estado y monitorear el progreso.
  • Una vez iniciado, envía periódicamente latidos al Administrador de recursos para confirmar su estado y actualizar el registro de sus demandas de recursos.

los cuarto componente es:

Envase
  • Es una colección de recursos físicos como RAM, núcleos de CPU y discos en un solo nodo.
  • Los contenedores YARN son administrados por un contexto de lanzamiento de contenedor que es el ciclo de vida del contenedor (CLC). Este registro contiene un mapa de variables de entorno, dependencias almacenadas en un almacenamiento accesible de forma remota, tokens de seguridad, carga útil para los servicios de Node Manager y el comando necesario para crear el proceso.
  • Otorga derechos a una aplicación para utilizar una cantidad específica de recursos (memoria, CPU, etc.) en un host específico.

Envío de solicitud en YARN

Consulte la imagen y observe los pasos necesarios para el envío de la solicitud de Hadoop YARN:

ordenar matriz c ++

1) Envíe el trabajo

2)Obtener ID de aplicación

3) Contexto de envío de la solicitud

4 a) Contenedor de inicioLanzamiento

b) Iniciar aplicación maestra

5) Asignar recursos

6 a) Envase

b) Lanzamiento

7) Ejecutar

Flujo de trabajo de la aplicación en Hadoop YARN

Consulte la imagen dada y vea los siguientes pasos involucrados en el flujo de trabajo de la aplicación de Apache Hadoop YARN:

  1. El cliente envía una solicitud
  2. Resource Manager asigna un contenedor para iniciar Application Manager
  3. Application Manager se registra con Resource Manager
  4. Application Manager solicita contenedores de Resource Manager
  5. El administrador de aplicaciones notifica al administrador de nodos que inicie contenedores
  6. El código de la aplicación se ejecuta en el contenedor.
  7. El cliente se pone en contacto con Resource Manager / Application Manager para supervisar el estado de la aplicación
  8. Application Manager cancela el registro con Resource Manager

Ahora que conoce Apache Hadoop YARN, consulte el por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo. El curso de formación de certificación de Edureka Big Data Hadoop ayuda a los alumnos a convertirse en expertos en HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume y Sqoop utilizando casos de uso en tiempo real en el dominio de Retail, Social Media, Aviación, Turismo, Finanzas.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios y nos pondremos en contacto con usted.