YARN significa » Otro negociador de recursos más «. Se introdujo en Hadoop 2.0 para eliminar el cuello de botella en Job Tracker que estaba presente en Hadoop 1.0. YARN se describió como un » Administrador de recursos rediseñado » en el momento de su lanzamiento, pero ahora ha evolucionado para ser conocido como un sistema operativo distribuido a gran escala utilizado para el procesamiento de Big Data.
La arquitectura YARN básicamente separa la capa de gestión de recursos de la capa de procesamiento. En la versión Hadoop 1.0, la responsabilidad del rastreador de trabajos se divide entre el administrador de recursos y el administrador de aplicaciones.
YARN también permite que diferentes motores de procesamiento de datos, como el procesamiento de gráficos, el procesamiento interactivo, el procesamiento de secuencias y el procesamiento por lotes, ejecuten y procesen datos almacenados en HDFS (Sistema de archivos distribuidos de Hadoop), lo que hace que el sistema sea mucho más eficiente. A través de sus diversos componentes, puede asignar dinámicamente varios recursos y programar el procesamiento de la aplicación. Para el procesamiento de datos de gran volumen, es muy necesario administrar los recursos disponibles adecuadamente para que cada aplicación pueda aprovecharlos.
Características de YARN: YARN ganó popularidad debido a las siguientes características :
- Escalabilidad: el programador en el administrador de recursos de la arquitectura YARN permite que Hadoop amplíe y administre miles de Nodes y clústeres.
- Compatibilidad: YARN es compatible con las aplicaciones de reducción de mapas existentes sin interrupciones, por lo que también es compatible con Hadoop 1.0.
- Utilización de clústeres: dado que YARN admite la utilización dinámica de clústeres en Hadoop, lo que permite una utilización de clústeres optimizada.
- Multiusuario: permite el acceso a múltiples motores, lo que brinda a las organizaciones un beneficio de multiusuario.
Arquitectura de HILO de Hadoop
Los componentes principales de la arquitectura YARN incluyen:
- Cliente: Envía trabajos map-reduce.
- Administrador de recursos: es el demonio maestro de YARN y es responsable de la asignación y administración de recursos entre todas las aplicaciones. Cada vez que recibe una solicitud de procesamiento, la reenvía al administrador de Node correspondiente y asigna recursos para completar la solicitud en consecuencia. Tiene dos componentes principales:
- Programador: realiza la programación en función de la aplicación asignada y los recursos disponibles. Es un planificador puro, lo que significa que no realiza otras tareas, como la supervisión o el seguimiento, y no garantiza un reinicio si falla una tarea. El programador de YARN admite complementos como Capacity Scheduler y Fair Scheduler para particionar los recursos del clúster.
- Gestor de aplicaciones: Es el encargado de aceptar la aplicación y negociar el primer contenedor del gestor de recursos. También reinicia el contenedor maestro de aplicaciones si falla una tarea.
- Administrador de Nodes: se encarga de los Nodes individuales en el clúster de Hadoop y administra la aplicación y el flujo de trabajo y ese Node en particular. Su trabajo principal es mantenerse al día con el Administrador de recursos. Se registra con el Resource Manager y envía heartbeats con el estado de salud del Node. Supervisa el uso de recursos, realiza la gestión de registros y también elimina un contenedor según las instrucciones del administrador de recursos. También es responsable de crear el proceso contenedor e iniciarlo a pedido del maestro de la aplicación.
- Maestro de aplicaciones: una aplicación es un solo trabajo enviado a un marco. El maestro de la aplicación es responsable de negociar los recursos con el administrador de recursos, rastrear el estado y monitorear el progreso de una sola aplicación. El maestro de la aplicación solicita el contenedor al administrador de Nodes mediante el envío de un Contexto de inicio de contenedor (CLC) que incluye todo lo que una aplicación necesita para ejecutarse. Una vez que se inicia la aplicación, envía el informe de estado al administrador de recursos de vez en cuando.
- Contenedor: es una colección de recursos físicos como RAM, núcleos de CPU y disco en un solo Node. Los contenedores son invocados por Container Launch Context (CLC), que es un registro que contiene información como variables de entorno, tokens de seguridad, dependencias, etc.
Flujo de trabajo de la aplicación en Hadoop YARN:
- El cliente presenta una solicitud
- El Administrador de recursos asigna un contenedor para iniciar el Administrador de aplicaciones
- El administrador de aplicaciones se registra con el administrador de recursos
- El administrador de aplicaciones negocia contenedores desde el administrador de recursos
- El administrador de aplicaciones notifica al administrador de Nodes para lanzar contenedores
- El código de la aplicación se ejecuta en el contenedor.
- El cliente se pone en contacto con el Administrador de recursos/Administrador de aplicaciones para monitorear el estado de la aplicación
- Una vez que se completa el procesamiento, el Administrador de aplicaciones cancela el registro con el Administrador de recursos
Publicación traducida automáticamente
Artículo escrito por palaknarula y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA