Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Descripción de los tipos de nodos en Amazon EMR: 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 ResourceManager servicio YARN para administrar los recursos de las aplicaciones. También ejecuta el NameNode servicio HDFS, realiza un seguimiento del estado de los trabajos enviados al clúster y supervisa el estado 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 Conexión al nodo principal del clúster de Amazon EMR 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 Visualización de los archivos de registro de Amazon EMR. 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 Amazon EMR 5.23.0 y versiones posteriores, puede lanzar un clúster con tres nodos principales para admitir una alta disponibilidad de aplicaciones como YARN Resource Manager, HDFS, Spark NameNode, 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 principal ejecuta los NodeManager daemons de YARN, las tareas de Hadoop y los ejecutores de Spark. MapReduce
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 en el grupo de EC2 instancias o en la flota de instancias. Con los grupos de instancias, puedes añadir y eliminar EC2 instancias de Amazon mientras el clúster está en ejecución. También puede configurar el escalado automático para agregar instancias en función del valor de una métrica. Para obtener más información sobre cómo añadir y eliminar EC2 instancias de Amazon con la configuración de grupos de instancias, consultaUtilice el escalado de clústeres de Amazon EMR para adaptarse a las cargas de trabajo cambiantes.
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 los nodos de tareas para añadir potencia y realizar tareas de cálculo en paralelo con los datos, como las tareas de Hadoop y los ejecutores de MapReduce 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 principales, puede añadir nodos de tareas a un clúster añadiendo EC2 instancias de Amazon a un grupo de instancias uniforme existente o modificando las capacidades objetivo de una flota de instancias de tareas.
Con la configuración de grupo de instancias uniforme, puede tener hasta un total de 48 grupos de instancias de tarea. La posibilidad de añadir grupos de instancias de esta manera te permite combinar tipos de EC2 instancias de Amazon y opciones de precios, como instancias bajo demanda e instancias puntuales. 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 YARNyarn-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'
A partir de la serie de versiones 7.x de Amazon EMR, Amazon EMR asigna etiquetas de nodo YARN a las instancias según su tipo de mercado, como “Bajo demanda” o “Spot”. Puede habilitar las etiquetas de nodo y restringir los procesos de aplicación a ON_DEMAND configurando las siguientes propiedades:
yarn.node-labels.enabled: true yarn.node-labels.am.default-node-label-expression: 'ON_DEMAND'
Si utiliza Amazon EMR 7.0 o una versión posterior, puede restringir el proceso de aplicación a los nodos con la etiqueta CODE
mediante la siguiente configuración:
yarn.node-labels.enabled: true yarn.node-labels.am.default-node-label-expression: 'CORE'
En el caso de las versiones 7.2 y posteriores de Amazon EMR, si el clúster utiliza el escalado administrado con etiquetas de nodo, Amazon EMR intentará escalar el clúster en función del proceso de aplicación y de la demanda del ejecutor de forma independiente.
Por ejemplo, si utiliza la versión 7.2 o posteriores de Amazon EMR y restringe el proceso de aplicación a los nodos ON_DEMAND
, el escalado administrado escala verticalmente los nodos ON_DEMAND
si aumenta la demanda del proceso de aplicación. De igual forma, si restringe el proceso de aplicación a los nodos CORE
, el escalado administrado escala verticalmente los nodos CORE
si aumenta la demanda del proceso de aplicación.
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.