Descripción de los tipos de nodos: principales, básicos y de tarea - Amazon EMR

Descripción de los tipos de nodos: principales, básicos y de tarea

Utilice esta sección para entender cómo Amazon EMR utiliza cada uno de estos tipos de nodos y como base para la planificación de capacidad de los clústeres.

Nodo principal

El nodo principal administra el clúster y normalmente ejecuta los componentes principales de las aplicaciones distribuidas. Por ejemplo, el nodo principal ejecuta el servicio YARN ResourceManager para administrar recursos de aplicaciones. También ejecuta el servicio HDFS NameNode, hace un seguimiento del estado de los trabajos enviados al clúster y supervisa la salud de los grupos de instancias.

Para supervisar el progreso de un clúster e interactuar directamente con las aplicaciones, puede conectar con el nodo principal a través de SSH como usuario de Hadoop. Para obtener más información, consulte Conectarse al nodo principal mediante SSH. La conexión con el nodo principal le permite acceder directamente a los directorios y los archivos, como los archivos de registro de Hadoop. Para obtener más información, consulte Ver archivos de registro de . También puede ver las interfaces de usuario que publican las aplicaciones como sitios web que se ejecutan en el nodo principal. Para obtener más información, consulte Ver las interfaces web alojadas en clústeres de Amazon EMR.

nota

Con la versión 5.23.0 y posteriores de Amazon EMR, puede lanzar un clúster con tres nodos principales para admitir una alta disponibilidad de aplicaciones como YARN Resource Manager, HDFS NameNode, Spark, Hive y Ganglia. El nodo principal ya no es un posible punto único de error con esta característica. Si se produce un error en uno de los nodos principales, se produce un error automáticamente en Amazon EMR a través de un nodo principal en espera y se sustituye el nodo principal con error por uno nuevo con las mismas acciones de arranque y configuración. Para más información, consulte Planificación y configuración de nodos principales.

Nodos básicos

Los nodos básicos los administra el nodo principal. Los nodos secundarios ejecutan el daemon del nodo de datos para coordinar el almacenamiento de datos como parte del Sistema de archivos distribuido de Hadoop (HDFS). También ejecutan el daemon Task Tracker y realizan otras tareas de cálculo en paralelo en los datos que las aplicaciones instaladas requieren. Por ejemplo, un nodo secundario ejecuta daemons NodeManager de YARN, tareas MapReduce de Hadoop y ejecutores de Spark.

Solo hay un grupo de instancias principal o una flota de instancias por clúster, pero puede haber varios nodos ejecutándose en varias instancias de Amazon EC2 en el grupo o la flota de instancias. Con los grupos de instancia, puede agregar y eliminar instancias de Amazon EC2 mientras se está ejecutando el clúster. También puede configurar el escalado automático para agregar instancias en función del valor de una métrica. Para más información sobre cómo agregar y eliminar instancias de Amazon EC2 con la configuración de los grupos de instancias, consulte Usar el escalado de clústeres.

Con las flotas de instancias, puede agregar y eliminar instancias de forma eficaz modificando las capacidades de destino de la flota de instancias para las opciones bajo demanda y de spot según corresponda. Para obtener más información acerca de las capacidades de destino, consulte Opciones de flota de instancias.

aviso

La eliminación de daemons de HDFS de un nodo secundario de ejecución o la terminación de nodos secundarios conlleva el riesgo de pérdida de datos. Tenga cuidado al configurar nodos secundarios que utilizan instancias de spot. Para obtener más información, consulte ¿Cuándo se deben utilizar las instancias de spot?.

Nodos de tarea

Puede utilizar nodos de tarea para agregar potencia para llevar a cabo tareas de computación paralela en los datos, como las tareas de Hadoop MapReduce y ejecutores de Spark. Los nodos de tareas no ejecutan el daemon de nodo de datos, ni tampoco almacenan datos en HDFS. Al igual que con los nodos básicos, puede agregar nodos de tarea a un clúster agregando instancias de EC2 en un grupo de instancias uniforme existente o modificando las capacidades de destino para una tarea de la flota de instancias.

Con la configuración de grupo de instancias uniforme, puede tener hasta un total de 48 grupos de instancias de tarea. La capacidad de agregar grupos de instancias de este modo le permite combinar tipos de instancia de Amazon EC2 y opciones de precio, como las instancias bajo demanda e instancias de spot. Esto le ofrece flexibilidad para responder a los requisitos de carga de trabajo de forma rentable.

Con la configuración de flota de instancias, la capacidad de combinar tipos de instancia y opciones de compra está integrada, por lo que solo hay una flota de instancias de tarea.

Dado que las instancias de spot se utilizan a menudo para ejecutar nodos de tarea, Amazon EMR tiene una funcionalidad predeterminada para programar trabajos de YARN, de modo que los trabajos en ejecución no presenten errores cuando los nodos de tarea que se ejecutan en las instancias de spot se terminen. Para ello, Amazon EMR permite que los procesos maestros de la aplicación se ejecuten únicamente en los nodos principales. El proceso maestro de la aplicación controla los trabajos en ejecución y debe mantenerse activo durante toda la vida del trabajo.

La versión 5.19.0 y posteriores de Amazon EMR utilizan la característica integrada de etiquetas de nodo YARN para lograrlo. (Las versiones anteriores utilizaban una revisión de código). Las propiedades en las clasificaciones de configuración yarn-site y capacity-scheduler se ajustan de forma predeterminada para que capacity-scheduler y fair-scheduler de YARN utilicen las etiquetas de nodo. Amazon EMR etiqueta automáticamente los nodos principales con la etiqueta CORE y establece las propiedades para que los maestros de la aplicación se programen únicamente en los nodos con la etiqueta CORE. La modificación manual de las propiedades relacionadas en las clasificaciones de configuración yarn-site y capacity-scheduler o directamente en los archivos XML asociados podría interrumpir esta característica o modificar esta funcionalidad.

A partir de la serie de versiones 6.x de Amazon EMR, la característica de etiquetas de nodo YARN está desactivada de forma predeterminada. De forma predeterminada, los procesos principales de la aplicación se pueden ejecutar tanto en nodos básicos como en nodos de tarea. Puede habilitar la función de etiquetas de nodo YARN configurando las siguientes propiedades:

  • yarn.node-labels.enabled: true

  • yarn.node-labels.am.default-node-label-expression: 'CORE'

Para obtener información sobre propiedades específicas, consulte Configuración de Amazon EMR para evitar errores en los trabajos debido a la terminación de instancias de spot de los nodos de tarea.