Configuración básica de Hadoop YARN

HadoopHadoopBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En una futurista fábrica de robots, donde la tecnología de vanguardia se combina con la ingeniería de precisión, usted asume el papel de técnico de mantenimiento de robots. Su objetivo principal es garantizar la asignación eficiente y la gestión de los recursos de cómputo dentro de la compleja red de la fábrica. Esta red impulsa las funciones cognitivas de los robots, lo que les permite realizar tareas complejas con una precisión y velocidad inigualables.

La infraestructura de cómputo de la fábrica se basa en el ecosistema Hadoop, específicamente en el componente YARN (Yet Another Resource Negotiator). Su objetivo es dominar la configuración básica de Hadoop YARN, lo que le permite distribuir y administrar sin problemas la carga de trabajo computacional de la fábrica en múltiples nodos, lo que garantiza un rendimiento óptimo y una utilización eficiente de los recursos.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopYARNGroup(["Hadoop YARN"]) hadoop/HadoopYARNGroup -.-> hadoop/yarn_setup("Hadoop YARN Basic Setup") hadoop/HadoopYARNGroup -.-> hadoop/yarn_jar("Yarn Commands jar") hadoop/HadoopYARNGroup -.-> hadoop/yarn_node("Yarn Commands node") hadoop/HadoopYARNGroup -.-> hadoop/resource_manager("Resource Manager") hadoop/HadoopYARNGroup -.-> hadoop/node_manager("Node Manager") subgraph Lab Skills hadoop/yarn_setup -.-> lab-289015{{"Configuración básica de Hadoop YARN"}} hadoop/yarn_jar -.-> lab-289015{{"Configuración básica de Hadoop YARN"}} hadoop/yarn_node -.-> lab-289015{{"Configuración básica de Hadoop YARN"}} hadoop/resource_manager -.-> lab-289015{{"Configuración básica de Hadoop YARN"}} hadoop/node_manager -.-> lab-289015{{"Configuración básica de Hadoop YARN"}} end

Explorar la arquitectura de YARN

En este paso, exploraremos la arquitectura de YARN y sus componentes clave, lo que servirá de base para comprender cómo gestiona y asigna recursos dentro del ecosistema Hadoop.

La arquitectura de YARN consta de dos componentes principales:

  1. ResourceManager (RM): El ResourceManager actúa como la autoridad central que arbitra y asigna los recursos disponibles (CPU, memoria, etc.) en todo el clúster. Está compuesto por dos componentes:

    • Scheduler: Responsable de asignar recursos a las diferentes aplicaciones en ejecución según políticas de programación predefinidas.
    • ApplicationsManager: Responsable de aceptar las solicitudes de trabajos, negociar el primer contenedor de recursos para ejecutar el ApplicationMaster y proporcionar el servicio para reiniciar el contenedor del ApplicationMaster en caso de error.
  2. NodeManager (NM): El NodeManager se ejecuta en cada nodo del clúster y es responsable de administrar los recursos del nodo y supervisar los contenedores que se ejecutan en ese nodo.

Para entender mejor la arquitectura de YARN, navegemos hasta el directorio de configuración de Hadoop y examinemos los archivos de configuración correspondientes.

Pero primero debemos cambiar de usuario:

su - hadoop

Navegue hasta el directorio de configuración de Hadoop:

cd /home/hadoop/hadoop/etc/hadoop/

Abra el archivo yarn-site.xml con la herramienta vim:

<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>
</configuration>

En este archivo de configuración, podemos ver que el servicio auxiliar mapreduce_shuffle está habilitado para el NodeManager. Este servicio es responsable de administrar las operaciones de mezcla en los trabajos MapReduce, lo que garantiza una transferencia eficiente de datos entre las fases de mapa y reducción.

Iniciar los servicios de YARN

Ahora que hemos explorado la arquitectura de YARN y su configuración, iniciemos los servicios de YARN en nuestro clúster de Hadoop.

Primero, inicie los servicios de YARN con el siguiente comando:

start-yarn.sh

Este script iniciará los demonios ResourceManager y NodeManager en los nodos adecuados del clúster.

Vea el proceso de los servicios de YARN con el siguiente comando:

jps

Los servicios NodeManager y ResourceManager deben ser visibles en la salida.

Puede comprobar el estado de los servicios de YARN con el siguiente comando:

yarn node -list

Este comando mostrará una lista de los NodeManagers activos en el clúster, junto con su estado y los recursos disponibles.

2024-03-17 19:27:30,108 INFO client.DefaultNoHARMFailoverProxyProvider: Connecting to ResourceManager at /0.0.0.0:8032
Total Nodes:1
         Node-Id	     Node-State	Node-Http-Address	Number-of-Running-Containers
iZj6cdofomqja8ye7wk8kzZ:43689	        RUNNING	iZj6cdofomqja8ye7wk8kzZ:8042	                           0

En la salida anterior, podemos ver que hay un NodeManager activo en ejecución.

Enviar un trabajo a YARN

Con los servicios de YARN en funcionamiento, enviemos un trabajo de muestra para probar la capacidad de asignación y programación de recursos de YARN.

Primero, prepare un archivo de texto de entrada llamado input.txt en el sistema de archivos de Hadoop que contenga el contenido de texto que se contará.

echo -e "Hello World\nHello Hadoop\nYARN is cool" > input.txt
hadoop fs -put input.txt /input.txt

Luego, el archivo JAR del programa de ejemplo se puede encontrar en el directorio de instalación de Hadoop, que generalmente se encuentra en $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar. Puede usar este archivo JAR para ejecutar el programa de conteo de palabras.

yarn jar /home/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /input.txt /output

Este comando enviará el trabajo MapReduce al ResourceManager de YARN, que asignará recursos y programará el trabajo en los NodeManagers disponibles.

Una vez que el trabajo se complete, puede ver la salida en el directorio /output:

hdfs dfs -cat /output/part-r-00000

Esto debería mostrar la salida del conteo de palabras:

Hadoop	1
Hello	2
World	1
YARN	1
cool	1
is	1

Resumen

En este laboratorio, exploramos la arquitectura de YARN y sus componentes clave, aprendimos cómo configurar y iniciar los servicios de YARN y enviamos un trabajo de muestra de MapReduce al clúster de YARN. Al completar este laboratorio, ha adquirido experiencia práctica con la configuración básica y la operación de Hadoop YARN, lo que le permite administrar y asignar recursos de cómputo de manera eficiente en un entorno distribuido.

El laboratorio no solo proporcionó una comprensión práctica de YARN, sino que también destacó la importancia de la gestión y programación de recursos en las infraestructuras de cómputo modernas. Como técnico de mantenimiento de robots en una fábrica futurista, dominar estas habilidades lo habilitará para optimizar el rendimiento y la eficiencia de los recursos de cómputo de la fábrica, lo que garantiza operaciones suaves y confiables para los robots.