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.
El clúster de Amazon EMR finaliza con NO_SLAVE_LEFT y los nodos básicos con FAILED_BY_MASTER
Normalmente, esto ocurre porque la protección de terminación está deshabilitada y todos los nodos secundarios superan la capacidad de almacenamiento en disco especificada por el umbral de utilización máximo en la configuración de clasificación yarn-site
, que corresponde al archivo yarn-site.xml
. Este valor es el 90 % de forma predeterminada. Cuando la utilización del disco de un nodo principal supera el umbral de utilización, el servicio de NodeManager salud de YARN informa del nodo comoUNHEALTHY
. Mientras esté en este estado, Amazon EMR lo incluye en la lista de denegados y no le asigna contenedores YARN. Si el nodo permanece en mal estado durante 45 minutos, Amazon EMR marca la EC2 instancia de Amazon asociada para su finalización como. FAILED_BY_MASTER
Cuando todas las EC2 instancias de Amazon asociadas a los nodos principales están marcadas para su finalización, el clúster termina con el estado NO_SLAVE_LEFT
porque no hay recursos para ejecutar tareas.
Sobrepasar la utilización del disco en un nodo secundario podría causar una reacción en cadena. Si un único nodo supera el umbral de utilización del disco debido a HDFS, es posible que otros nodos estén también cerca del umbral. El primer nodo supera el umbral de uso del disco, por lo que Amazon EMR lo agrega a la lista de denegados. Esto aumenta la carga de uso del disco en los nodos restantes, ya que estos comienzan a replicar entre ellos los datos HDFS que perdieron en el nodo incluido en la lista de denegados. Uno por uno, los nodos van adoptando el estado UNHEALTHY
de la misma manera, y el clúster finalmente termina.
Prácticas recomendadas y recomendaciones
Configurar el hardware del clúster con almacenamiento suficiente
Al crear un clúster, asegúrese de que haya suficientes nodos secundarios y de que cada uno tenga un almacén de instancias y volúmenes de almacenamiento de EBS para HDFS apropiados. Para obtener más información, consulte Cálculo de la capacidad de HDFS requerida de un clúster. También puede añadir instancias secundarias a grupos de instancias existentes de forma manual o mediante el escalado automático. Las instancias nuevas tienen la misma configuración de almacenamiento que el resto de las instancias del grupo. Para obtener más información, consulte Utilice el escalado de clústeres de Amazon EMR para adaptarse a las cargas de trabajo cambiantes.
Cómo habilitar la protección contra la terminación
Habilite la protección de terminación. De esta forma, si un nodo principal aparece en la lista de denegados, puedes conectarte a la EC2 instancia de Amazon asociada mediante SSH para solucionar problemas y recuperar datos. Si habilita la protección de terminación, tenga en cuenta que Amazon EMR no reemplaza la instancia de Amazon EC2 por una nueva instancia. Para obtener más información, consulte Uso de la protección de finalización para proteger sus clústeres de Amazon EMR de un cierre accidental.
Cree una alarma para la métrica MRUnhealthy Nodes CloudWatch
Esta métrica indica el número de nodos que tienen el estado UNHEALTHY
. Es equivalente a la métrica mapred.resourcemanager.NoOfUnhealthyNodes
de YARN. Puede configurar una notificación para esta alarma que le avise de los nodos en mal estado 45 minutos antes de que se agote el tiempo de espera. Para obtener más información, consulte Supervisión de las métricas de Amazon EMR con CloudWatch.
Retocar la configuración mediante yarn-site
Las opciones mostradas a continuación se pueden ajustar de acuerdo con los requisitos de la aplicación. Por ejemplo, es posible que desee aumentar el umbral de utilización del disco si un nodo adopta el estado UNHEALTHY
aumentando el valor de yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage
.
Puede establecer estos valores al crear un clúster mediante la clasificación de configuración yarn-site
. Para obtener más información, consulte Configuración de aplicaciones en la Guía de publicación de Amazon EMR. También puedes conectarte a las EC2 instancias de Amazon asociadas a los nodos principales mediante SSH y, a continuación, añadir los valores /etc/hadoop/conf.empty/yarn-site.xml
mediante un editor de texto. Tras realizar el cambio, debes reiniciarlo hadoop-yarn-nodemanager como se muestra a continuación.
importante
Al reiniciar el NodeManager servicio, los contenedores YARN activos se eliminan a menos que yarn.nodemanager.recovery.enabled
estén configurados para true
usar la clasificación de yarn-site
configuración al crear el clúster. Asimismo, debe especificar el directorio en el que se va a almacenar el estado del contenedor mediante la propiedad yarn.nodemanager.recovery.dir
.
sudo /sbin/stop hadoop-yarn-nodemanager sudo /sbin/start hadoop-yarn-nodemanager
Para obtener más información sobre las propiedades yarn-site
actuales y sus valores predeterminados, consulte página relacionada con la configuración predeterminada de YARN
Propiedad | Valor predeterminado | Descripción |
---|---|---|
yarn.nodemanager. disk-health-checker.interval-ms |
120 000 |
La frecuencia (en segundos) con la que se ejecuta el comprobador de estado del disco. |
yarn.nodemanager. disk-health-checker. min-healthy-disks |
0,25 |
La fracción mínima de la cantidad de discos que deben estar en buen estado NodeManager para lanzar nuevos contenedores. Esto se corresponde con yarn.nodemanager.local-dirs (de forma predeterminada, |
|
90,0 |
El porcentaje máximo de utilización del espacio en disco permitido después del cual un disco se marca como dañado. Los valores están comprendidos entre 0,0 y 100,0. Si el valor es mayor o igual a 100, NodeManager comprueba si el disco está lleno. Esto se aplica a |
|
0 |
El espacio mínimo que debe estar disponible en un disco para que se pueda utilizar. Esto se aplica a |