Salta al contenuto

Come posso risolvere gli errori "Exit status: -100. Diagnostics: Container released on a lost node" in Amazon EMR?

3 minuti di lettura
0

Il mio processo Amazon EMR non riesce con un errore "Container released on a lost node".

Breve descrizione

Quando Amazon EMR chiude un nodo core o attività a causa di un utilizzo elevato dello spazio su disco, potresti ricevere il seguente errore:

"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"

Potresti ricevere l'errore precedente anche quando un nodo non risponde a causa di un utilizzo prolungato elevato della CPU o di una memoria disponibile insufficiente.

La seguente risoluzione illustra i passaggi per risolvere l'errore che si verifica quando esaurisci lo spazio su disco e la metrica MR unhealthy nodes mostra nodi non integri.

Risoluzione

Quando l'utilizzo di un disco di un nodo core o attività (ad esempio, /mnt o /mnt1 ) supera il 90%, il disco non è considerato integro. Se meno del 25% dei dischi di un nodo è integro, YARN ResourceManager disattiva il nodo in modo automatico. Per risolvere il problema, aggiungi altra capacità Amazon Elastic Block Store (Amazon EBS) al cluster EMR.

Determina la causa principale

Per determinare la causa dell'errore, controlla le metriche di Amazon CloudWatch per il cluster EMR MR unhealthy nodes e MR lost nodes.

Se la metrica MR unhealthy nodes mostra un nodo non integro, il problema è dovuto allo spazio su disco insufficiente.

Se la metrica MR Lost Nodes mostra un nodo perso, la perdita è stata causata da un errore hardware. Oppure Amazon EMR non riesce a raggiungere il nodo a causa dell'utilizzo elevato della CPU o della memoria.

Aggiungi più capacità Amazon EBS ai nuovi cluster

Per aggiungere più capacità Amazon EBS quando avvii un cluster Amazon EMR, scegli un tipo di istanza Amazon Elastic Compute Cloud (Amazon EC2) più grande. Per ulteriori informazioni, consulta Archiviazione Amazon EBS predefinita per le istanze. Puoi anche modificare le dimensioni del volume o aggiungere altri volumi quando crei il cluster.

Aggiungi altri nodi core o attività ai cluster nuovi o in esecuzione

Scegli un numero maggiore di nodi core o attività quando avvii un nuovo cluster. Oppure aggiungi altri nodi core o attività a un cluster in esecuzione.

Aggiungi altri volumi Amazon EBS ai cluster in esecuzione

Se volumi Amazon EBS più grandi non risolvono il problema, collega più volumi Amazon EBS a un cluster in esecuzione.

Completa i seguenti passaggi:

  1. Collega più volumi Amazon EBS ai nodi core e attività.

  2. Formatta e monta i volumi collegati. Assicurati di utilizzare il numero di disco corretto. Ad esempio, /mnt1 o /mnt2 invece di /data.

  3. Utilizza SSH per connetterti al nodo.

  4. Aggiungi il percorso /mnt1/yarn all'interno della proprietà yarn.nodemanager.local-dirs di /etc/hadoop/conf/yarn-site.xml.
    Esempio:

    <property>    <name>yarn.nodemanager.local-dirs</name>
        <value>/mnt/yarn,/mnt1/yarn</value>
    </property>
  5. Riavvia il servizio NodeManager:

    sudo stop hadoop-yarn-nodemanager
    sudo start hadoop-yarn-nodemanager
  6. Abilita la protezione dalla terminazione.

Se i problemi di spazio su disco persistono, intraprendi le seguenti azioni:

  • Rimuovi i file non necessari.
  • Aumenta la soglia di utilizzo del disco dal 90% al 99%. A tale scopo, modifica la proprietà yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage in yarn-default.xml su tutti i nodi. Quindi, riavvia il servizio hadoop-yarn-nodemanager.

Informazioni correlate

Il cluster Amazon EMR termina con NO_SLAVE_LEFT e i nodi core con FAILED_BY_MASTER

Perché il nodo core del mio cluster Amazon EMR esaurisce lo spazio su disco?

AWS UFFICIALEAggiornata 5 mesi fa