¿Cómo puedo solucionar el error «Estado de salida: -100. Diagnóstico: contenedor liberado en un nodo *perdido*» en Amazon EMR?

4 minutos de lectura
0

Mi trabajo de Amazon EMR falla y aparece un mensaje de error similar al siguiente: ExecutorLostFailure (una de las tareas en ejecución ha hecho que el ejecutor 12 salga) Motivo: contenedor marcado como erróneo: container_1572839353552_0008_01_000002 on host: ip-xx-xxx-xx-xx Estado de salida: -100. Diagnóstico: contenedor liberado en un nodo perdido

Breve descripción

Este error suele producirse en cualquiera de las siguientes situaciones:

  • Se termina un nodo central o de tareas debido a la alta utilización de espacio en disco.
  • Un nodo deja de responder debido a un uso prolongado de la CPU o a una baja disponibilidad de memoria.

Este artículo se centra en los problemas de espacio en disco.

Cuando el uso de un disco central o de nodo de tareas (por ejemplo, /mnt o /mnt1) supera el 90 %, se considera que el disco no está en buen estado. Si menos del 25 % de los discos de un nodo están en buen estado, YARN ResourceManager retira el nodo sin problemas. Para solucionar este problema, añada más capacidad de Amazon Elastic Block Store (Amazon EBS) al clúster de EMR. Para hacerlo, puede lanzar un nuevo clúster o modificar un clúster en ejecución.

Solución

Determinación de la causa raíz

Para determinar la causa del error, compruebe las siguientes métricas de Amazon CloudWatch para el clúster de EMR:

  • Nodos que no funcionan correctamente de MR: si esta métrica muestra un nodo en mal estado, el problema se debe a la falta de espacio en disco.
  • Nodos perdidos de MR: si esta métrica muestra un nodo perdido, indica que se perdió debido a un fallo de hardware o que no se pudo acceder al nodo debido a un alto consumo de CPU o memoria.

Utilice una de las siguientes opciones para solucionar los errores de nodos perdidos causados por la falta de espacio en disco.

Clústeres nuevos: adición de más capacidad de EBS

Para añadir más capacidad de EBS al lanzar un clúster de EMR, elija un tipo de instancia de Amazon Elastic Compute Cloud (Amazon EC2) más grande. Las instancias de EC2 más grandes incluyen más capacidad de almacenamiento de EBS. Para obtener más información, consulte Almacenamiento predeterminado de EBS para instancias. (También puede modificar el tamaño del volumen o añadir más volúmenes al crear el clúster, independientemente del tipo de instancia que elija.)

Clústeres nuevos o en ejecución: adición de más nodos principales o de tareas

Clústeres en ejecución: adición de más volúmenes de EBS

Haga lo siguiente para asociar más volúmenes de EBS a un clúster en ejecución:

1.    Si el problema no se resuelve con volúmenes de EBS más grandes, asocie más volúmenes de EBS a los nodos principales o de tarea.

2.    Formatee y monte los volúmenes asociados. Asegúrese de utilizar el número de disco correcto (por ejemplo, /mnt1 o /mnt2 en lugar de /data).

3.    Conéctese al nodo mediante SSH.

4.    Añada la ruta /mnt1/yarn dentro de la propiedad yarn.nodemanager.local-dirs de /etc/hadoop/conf/yarn-site.xml. Ejemplo:

<property>
    <name>yarn.nodemanager.local-dirs</name>
    <value>/mnt/yarn,/mnt1/yarn</value>
</property>

5.    Reinicie el servicio NodeManager:

sudo stop hadoop-yarn-nodemanager
sudo start hadoop-yarn-nodemanager

6.    Habilite la protección contra la terminación.

Si sigue teniendo problemas de espacio en disco, pruebe lo siguiente:

  • Elimine los archivos innecesarios.
  • Aumente el umbral de utilización del disco del 90 % al 99 %. Para ello, modifique la propiedad yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage de yarn-default.xml en todos los nodos. A continuación, reinicie el servicio hadoop-yarn-nodemanager.

Información relacionada

El clúster termina con NO_SLAVE_LEFT y los nodos principales FAILED_BY_MASTER

¿Por qué el nodo principal de mi clúster de Amazon EMR se está quedando sin espacio de disco?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 3 años