Aplicación del Planificador en Hadoop

HadoopBeginner
Practicar Ahora

Introducción

En la antigua tierra de Egipto, el palacio del faraón se erigía como un magnífico testimonio del poder y la prosperidad del reino. Sin embargo, bajo la superficie dorada, una crisis estaba brotando. Las vastas bodegas del faraón, llenas de la generosidad del Nilo, estaban en desorden. Los sacerdotes, responsables de administrar la distribución de los recursos, luchaban por mantener el ritmo con las demandas del pueblo.

Ingresa Amenhotep, un brillante joven sacerdote encargado de restaurar el orden en los recursos del reino. Su misión era desarrollar un sistema que asegurara una asignación justa y eficiente de las preciosas mercancías, asegurando que cada ciudadano recibiera su parte correspondiente.

El faraón, impresionado por la inteligencia y la dedicación de Amenhotep, le otorgó acceso al más reciente milagro tecnológico: el sistema Hadoop YARN (Yet Another Resource Negotiator). Con esta poderosa herramienta a su disposición, Amenhotep se dispuso a aprender las complejidades del Applying Scheduler, un componente clave de YARN que lo ayudaría a alcanzar su objetivo.

Comprendiendo los Planificadores de Hadoop YARN

En este paso, exploraremos las diferentes políticas de planificación disponibles en Hadoop YARN y sus respectivos casos de uso.

Primero, debemos cambiar el usuario al usuario Hadoop:

su - hadoop

Hadoop YARN admite dos políticas de planificación principales: el Planificador Justo y el Planificador de Capacidad. El Planificador Justo tiene como objetivo proporcionar una distribución equitativa de los recursos entre múltiples usuarios y aplicaciones, lo que garantiza que ningún usuario o aplicación monopolice los recursos del clúster. Por otro lado, el Planificador de Capacidad permite la gestión jerárquica de colas y la asignación de recursos basada en límites de capacidad predefinidos.

Para mostrar la configuración actual del planificador, use el siguiente comando:

yarn scheduler -getConf

Este comando le mostrará el planificador actualmente activo y su configuración.

Configurando el Planificador Justo

En este paso, configuraremos el Planificador Justo para garantizar una distribución equitativa de recursos entre los ciudadanos del reino.

Primero, cree un nuevo archivo de configuración llamado fair-scheduler.xml en /home/hadoop para el Planificador Justo:

<!-- /home/hadoop/fair-scheduler.xml -->
<?xml version="1.0"?>
<allocations>
  <defaultQueueSchedulingPolicy>fair</defaultQueueSchedulingPolicy>
  <queue name="root">
    <weight>1.0</weight>
    <queue name="citizens">
      <weight>1.0</weight>
      <minResources>1024 mb, 1 vcores</minResources>
    </queue>
    <queue name="priests">
      <weight>2.0</weight>
      <minResources>2048 mb, 2 vcores</minResources>
    </queue>
  </queue>
</allocations>

En esta configuración, hemos definido dos colas: citizens y priests. La cola citizens tiene un peso de 1.0 y una asignación mínima de recursos de 1024 MB de memoria y 1 vcore. La cola priests tiene un peso de 2.0 y una asignación mínima de recursos de 2048 MB de memoria y 2 vcores.

A continuación, aplique la nueva configuración ejecutando el siguiente comando:

yarn scheduler --setConf /home/hadoop/fair-scheduler.xml

Verifique que el Planificador Justo esté ahora activo ejecutando nuevamente el comando yarn scheduler -getConf.

Configurando el Planificador de Capacidad

En este paso, configuraremos el Planificador de Capacidad para asignar recursos basados en límites de capacidad predefinidos.

Primero, cree un nuevo archivo de configuración llamado capacity-scheduler.xml en /home/hadoop/ para el Planificador de Capacidad:

<!-- /home/hadoop/capacity-scheduler.xml -->
<?xml version="1.0"?>
<configuration>
  <property>
    <name>yarn.scheduler.capacity.root.queues</name>
    <value>citizens,priests</value>
  </property>
  <property>
    <name>yarn.scheduler.capacity.root.citizens.capacity</name>
    <value>50</value>
  </property>
  <property>
    <name>yarn.scheduler.capacity.root.priests.capacity</name>
    <value>50</value>
  </property>
</configuration>

En esta configuración, hemos definido dos colas: citizens y priests. Cada cola se le asigna el 50% de los recursos del clúster.

A continuación, aplique la nueva configuración ejecutando el siguiente comando:

yarn scheduler --setConf /home/hadoop/capacity-scheduler.xml

Verifique que el Planificador de Capacidad esté ahora activo ejecutando nuevamente el comando yarn scheduler -getConf.

Resumen

En este laboratorio, aprendimos cómo configurar y aplicar diferentes políticas de planificación en Hadoop YARN para administrar de manera efectiva la asignación de recursos. Al dominar el Planificador Justo y el Planificador de Capacidad, Amenhotep puede garantizar una distribución equitativa de recursos entre los ciudadanos del reino y priorizar las tareas críticas realizadas por los sacerdotes.

A través de esta experiencia práctica, adquirimos una comprensión más profunda de las poderosas capacidades de Hadoop YARN y su capacidad para administrar recursos en un entorno complejo. Al aplicar los conocimientos adquiridos en este laboratorio, podemos construir sistemas de gestión de recursos eficientes y equitativos adaptados a las necesidades específicas de nuestra organización.