Logotipo de Zephyrnet

YARN para computación a gran escala: edición para principiantes

Fecha:

Introducción

YARN significa Otro Negociador de Recursos. Es un poderoso sistema de gestión de recursos para un entorno de servidor horizontal. Está diseñado para ser más flexible y genérico que el sistema Hadoop MapReduce original, lo que lo convierte en una opción atractiva para las empresas que buscan implementar Hadoop. Permite a las empresas procesar tipos de datos y ejecutar varios motores de procesamiento de datos en el mismo clúster, como Spark, Hive, Pig, etc.

HILO
Fuente: bigdataschool

Una de las características críticas de YARN es su capacidad para manejar múltiples tipos de cargas de trabajo. Esto se logra utilizando dos componentes clave: el Administrador de recursos y el Administrador de nodos. El administrador de recursos asigna recursos a diferentes aplicaciones, mientras que el administrador de nodos administra los recursos en nodos individuales del clúster.

YARN tiene muchas aplicaciones y casos de uso, incluido el procesamiento por lotes, SQL interactivo, transmisión en tiempo real, aprendizaje automático, procesamiento de gráficos, servicios de ejecución prolongada y procesamiento de big data.

Objetivos de aprendizaje:

  1. Obtendremos una introducción básica a YARN.
  2. Luego aprenderá sobre los pros y los contras de usarlo.
  3. Discutir las aplicaciones y casos de uso.
  4. Comprenda la diferencia fundamental entre YARN y MapReduce.
  5. Y, por último, se pondrá manos a la obra con varios ejemplos codificados y prácticos.

Índice del contenido

1. Ventajas y desventajas del HILO

2. Aplicaciones y casos de uso de YARN

3. Aprende la diferencia: YARN vs. Map Reduce

4. Comprender el concepto con ejemplos de código básico

5. Conclusión

Ventajas y desventajas de usar YARN

Hay beneficios al usar YARN para sistemas extensos, pero también tiene muchas desventajas. A continuación se presentan algunos de los pros y los contras.

Ventajas del HILO:

  • Aislamiento y gestión de recursos mejorados: proporciona un mejor aislamiento y gestión de los recursos, lo que puede mejorar la estabilidad y el rendimiento del clúster.
  • Flexibilidad : puede manejar múltiples tipos de cargas de trabajo, lo que permite a las empresas ejecutar diferentes tipos de aplicaciones en el mismo trabajo, lo que lleva a un mejor consumo de recursos y ahorro de costos.
  • Soporte para muchas aplicaciones informáticas: Admite muchas aplicaciones informáticas distribuidas, incluido el procesamiento por lotes, SQL interactivo, transmisión en tiempo real y aprendizaje automático.
  • Escalabilidad: Puede escalar dinámicamente hacia arriba y hacia abajo del clúster, lo que permite a las organizaciones adaptarse a las cargas de trabajo cambiantes.
  • Actualización continuas: admite actualizaciones continuas, lo que hace que las empresas mejoren su trabajo sin interrumpir el servicio.
  • Soporte de múltiples versiones: permite a las organizaciones ejecutar varias versiones de Hadoop en el mismo clúster.

Desventajas del HILO:

  • Complejidad: Puede ser complejo de instalar y configurar, y requiere una buena comprensión de la instalación y las configuraciones del clúster para utilizar sus capacidades a fondo.
  • Soporte limitado para aplicaciones heredadas: solo es compatible con algunas de las aplicaciones heredadas creadas para el sistema Hadoop MapReduce original.
  • Asignación de recursos: Su algoritmo de asignación de recursos a veces puede ser óptimo para cargas de trabajo específicas.
  • Equidad en la asignación de recursos: Su algoritmo de asignación de recursos solo a veces puede ser justo para diferentes aplicaciones y usuarios.
HILO
Fuente: educaba

Aplicaciones y casos de uso de YARN

Tiene muchas aplicaciones y casos de uso que son muy beneficiosos para los gigantes tecnológicos actuales. Algunos de ellos se discuten a continuación.

  • Procesamiento por lotes: YARN puede habilitar trabajos de procesamiento por lotes, como almacenamiento de datos y ETL (extracción, transformación, carga). Esto permite a las organizaciones procesar grandes cantidades de datos de manera eficiente y rentable.
  • SQL interactivo: YARN puede ejecutar consultas SQL interactivas en grandes conjuntos de datos. Esto permite a las organizaciones realizar análisis en tiempo real y obtener información de sus datos.
  • Transmisión en tiempo real: YARN puede procesar datos de transmisión en tiempo real, como datos de registro, datos de sensores y datos de redes sociales. Esto permite a las organizaciones obtener información y tomar decisiones casi en tiempo real.
  • Aprendizaje automático: YARN se puede usar para asignar algoritmos de aprendizaje automático en grandes conjuntos de datos. Esto permite a las organizaciones construir y entrenar modelos para diversas aplicaciones, como imagen y reconocimiento de voz, procesamiento de lenguaje natural y análisis predictivo.
  • Procesamiento de gráficos: YARN puede procesar datos gráficos como redes sociales y sistemas de recomendación. Esto permite a las organizaciones analizar las relaciones y conexiones dentro de sus datos.
  • Servicios de larga duración: YARN puede asignar servicios de ejecución prolongada, como servicios web y canalizaciones de datos. Esto permite a las organizaciones implementar y administrar estos servicios de manera escalable y tolerante a fallas.
  • Procesamiento de grandes datos: YARN permite que diferentes motores de procesamiento de datos se ejecuten en el mismo clúster. Esto permite a las organizaciones procesar datos estructurados, semiestructurados y no estructurados utilizando herramientas como Spark, Colmena, cerdo, etc
HILO
Fuente: educaba

Aprende la diferencia: YARN vs. Map Reduce

Esta sección discutirá la diferencia entre YARN y Map Reduce.

HILO Reducción de mapa
1. YARN (Yet Another Resource Negotiator) es un sistema de gestión de recursos para Hadoop que se introdujo en Hadoop 2.0. 1. MapReduce es un modelo de programación y un marco de software para procesar grandes conjuntos de datos en paralelo.
2. YARN es responsable de administrar recursos, como CPU y memoria, en un clúster de Hadoop y programar tareas para ejecutar esos recursos. 2. MapReduce es responsable de procesar los datos y generar los resultados.
3. YARN tiene una arquitectura centralizada que permite una mejor escalabilidad y administración de recursos, mientras que MapReduce tiene una arquitectura más descentralizada. Proporciona más flexibilidad con respecto a cómo se asignan y utilizan los recursos. 3. MapReduce es más rígido en la asignación y el uso de recursos.
4. YARN permite el procesamiento en tiempo real de flujos de datos, mientras que MapReduce se utiliza principalmente para el procesamiento por lotes de datos. También permitió una mejor utilización del clúster y un mayor rendimiento. 4. MapReduce puede llevar a la infrautilización de recursos y a un menor rendimiento en algunos casos
HILO
Fuente: slideplaye

Comprender el concepto con ejemplos de código básico

Esta sección discutirá algunos ejemplos básicos que los principiantes pueden entender fácilmente, como ejecutar un trabajo simple de conteo de palabras usando YARN y MapReduce o ejecutar un script de Pig usando YARN.

Ejemplo 1: Ejecutar un trabajo simple de conteo de palabras usando YARN y Mapa reducido:

$ hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /input/text.txt /output/wordcount

En este ejemplo, estamos usando el trabajo de ejemplo de recuento de palabras incorporado que viene con Hadoop. Pasamos dos argumentos, el archivo de entrada /input/text.txt y el directorio de salida /output/wordcount, donde se almacenarán los resultados del trabajo. Este trabajo contará el número de ocurrencias de cada palabra en el archivo de texto de entrada y escribirá los resultados en el directorio de salida.

Ejemplo 2: Ejecutando un script de Pig usando YARN:

$ pig -x hilo -f /ruta/hacia/pig/script.pig

En este ejemplo, usamos la interfaz de línea de comandos de Pig para ejecutar un script de Pig ubicado en "/ruta/a/pig/script.pig" en un clúster de YARN. La opción “-x yarn” le dice a Pig que use YARN como modo de ejecución. Esto se puede usar para ejecutar scripts de Pig que realizan tareas de procesamiento de datos, limpieza de datos y transformación de datos.

Ejemplo 3: Ejecutando una consulta de Hive usando YARN:

$ colmena -e "SELECCIONAR * DE mytable LIMIT 10"

En este ejemplo, usamos la interfaz de línea de comandos de Hive para ejecutar una consulta similar a SQL en una tabla llamada "mitabla". La consulta selecciona todas las columnas y filas de la tabla y devuelve solo las primeras diez filas. Los resultados de la pregunta se imprimirán en la consola. Esto se puede utilizar para la consulta y exploración de datos interactivos.

Ejemplo 4: Ejecutando un trabajo de Spark usando YARN:

$ envío-chispa --class org.example.MySparkJob --master hilo --deploy-mode client --executor-memory 512m --num-executors 10 /path/to/jar/my-spark-job.jar arg1 arg2

En este ejemplo, usamos la interfaz de línea de comandos de Spark para enviar un trabajo de Spark llamado "MySparkJob" que está empaquetado en un archivo jar ubicado en "/ruta/a/jar/my-spark-job.jar". El trabajo toma dos argumentos, "arg1" y "arg2", pasados ​​al método principal. La opción “–master yarn” le dice a Spark que use YARN como administrador de clústeres. “–deploy-mode client” significa que Spark ejecuta el programa del controlador en la máquina cliente, y “–executor-memory 512m” y “–num-executors 10” se utilizan para configurar la cantidad de memoria por ejecutor y el número de ejecutores respectivamente.

Conclusión

En conclusión, YARN es un poderoso sistema de administración de recursos para Hadoop. Permite que diferentes tipos de cargas de trabajo de procesamiento de datos, procesamiento de datos, consultas interactivas, transmisión en tiempo real y aprendizaje automático se ejecuten en el mismo clúster. Brinda un sistema de administración centralizado para un clúster de Hadoop, lo que facilita la administración y el monitoreo de los recursos. Sin embargo, es importante tener en cuenta que tiene limitaciones, como mayor complejidad, ineficiencias en la asignación de recursos y compatibilidad limitada con marcos y herramientas específicos.

Puntos clave de este artículo:
1. En primer lugar, hemos discutido el marco YARN. Es un sistema de administración de recursos para computación distribuida a gran escala en Hadoop que permite que múltiples marcos de procesamiento de datos se ejecuten en el mismo clúster.
2. Luego, discutimos las ventajas y desventajas de usarlo. Hemos discutido la escalabilidad, los beneficios de la creación de clústeres, etc.
3. Después de eso, discutimos sus casos de uso y escribimos el código de algunas de sus aplicaciones principales, como usar un script de cerdo o ejecutar un comando simple para contar palabras.

Los medios que se muestran en este artículo no son propiedad de Analytics Vidhya y se utilizan a discreción del autor.

punto_img

Información más reciente

punto_img