Saltar al contenido

¿Cómo puedo solucionar el error «Exit status: -100. Diagnostics: Container released on a lost node» en Amazon EMR?

4 minutos de lectura
0

Mi trabajo de Amazon EMR falla y aparece el error «Container released on a lost node».

Descripción corta

Cuando Amazon EMR termina un nodo central o de tarea debido a la alta utilización del espacio en disco, es posible que recibas el siguiente error:

«ExecutorLostFailure (executor 12 exited caused by one of the running tasks) Reason: Container marked as failed: container_1572839353552_0008_01_000002 on host: ip-##-###-##-## Exit status: -100. Diagnostics: Container released on a lost node»

También puedes recibir el error anterior cuando un nodo deja de responder debido a un uso elevado y prolongado de la CPU o a la poca memoria disponible.

La siguiente resolución proporciona los pasos para resolver el error que recibes cuando te quedas sin espacio en disco y la métrica de nodos en mal estado de MR muestra los nodos en mal estado.

Resolución

Cuando el uso de un disco de nodo central o de tarea (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, agrega más capacidad de Amazon Elastic Block Store (Amazon EBS) al clúster de EMR.

Determinación de la causa raíz

Para determinar la causa del error, comprueba las métricas de Amazon CloudWatch del clúster de EMR MR unhealthy nodes y MR lost nodes.

Si la métrica de nodos en mal estado de MR muestra un nodo en mal estado, el problema se debe a que no hay suficiente espacio en disco.

Si la métrica de nodos perdidos de MR muestra un nodo perdido, la pérdida del nodo se debe a un error de hardware. O bien, Amazon EMR no puede llegar al nodo debido a un uso elevado de CPU o memoria.

Adición de más capacidad de Amazon EBS para clústeres nuevos

Para agregar más capacidad de Amazon EBS al iniciar un clúster de Amazon EMR, elige un tipo de instancia de Amazon Elastic Compute Cloud (Amazon EC2) más grande. Para obtener más información, consulta Almacenamiento predeterminado de Amazon EBS para instancias. También puedes modificar el tamaño del volumen o agregar más volúmenes al crear el clúster.

Adición de más nodos centrales o de tarea para clústeres nuevos o en ejecución

Elige un número mayor de nodos centrales o de tarea al iniciar un nuevo clúster. O bien, agrega más nodos centrales o de tarea a un clúster en ejecución.

Adición de más volúmenes de Amazon EBS para clústeres en ejecución

Si los volúmenes más grandes de Amazon EBS no resuelven el problema, adjunta más volúmenes de Amazon EBS a un clúster en ejecución.

Sigue estos pasos:

  1. Adjunta más volúmenes de Amazon EBS a los nodos centrales y de tarea.

  2. Formatea y monta los volúmenes adjuntos. Asegúrate de usar el número de disco correcto. Por ejemplo, /mnt1 o /mnt2 en lugar de /data.

  3. Usa SSH para conectarte al nodo.

  4. Agrega 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. Reinicia el servicio NodeManager:

    sudo stop hadoop-yarn-nodemanager
    sudo start hadoop-yarn-nodemanager
  6. Activa la protección de terminación.

Si sigues teniendo problemas de espacio en disco, toma las siguientes medidas:

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

Información relacionada

El clúster de Amazon EMR termina con NO_SLAVE_LEFT y los nodos centrales con FAILED_BY_MASTER

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

OFICIAL DE AWSActualizada hace 3 meses