View a markdown version of this page

Sostituzione di nodi non integri con Amazon EMR - Amazon EMR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Sostituzione di nodi non integri con Amazon EMR

Amazon EMR utilizza periodicamente il servizio NodeManager Health Checker di Apache Hadoop per monitorare lo stato dei nodi principali di Amazon EMR sui cluster Amazon EC2. Se un nodo non funziona in modo ottimale, viene contrassegnato come non integro e lo health checker segnala quel nodo al controller Amazon EMR. Il controller Amazon EMR aggiunge il nodo a una lista negata, impedendo al nodo di ricevere nuove applicazioni YARN fino a quando lo stato del nodo non migliora.

Nota

Un motivo comune per cui un nodo non è integro è che lo spazio su disco è esaurito. Per ulteriori informazioni su quando lo spazio su disco di un nodo principale è quasi esaurito, è utile il seguente articolo del Knowledge Center di re:POST: Perché il nodo principale del mio cluster Amazon EMR sta esaurendo lo spazio su disco?

Nota

Hadoop offre la possibilità di eseguire controlli personalizzati dello stato dei nodi. Questo è spiegato più dettagliatamente nella documentazione di Apache Hadoop all'indirizzo. NodeManager

Puoi scegliere se Amazon EMR debba chiudere i nodi non integri o mantenerli nel cluster. Se disattivi la sostituzione dei nodi non integri, questi rimangono nell'elenco dei nodi rifiutati e continuano a essere conteggiati ai fini della capacità del cluster. Puoi comunque connetterti all'istanza principale di Amazon EC2 per la configurazione e il ripristino, così puoi ridimensionare il cluster se desideri aggiungere capacità. Per ulteriori informazioni su come funzionano la sostituzione e la terminazione dei nodi, consulta Using termination protection.

Se la sostituzione dei nodi non integri è attivata, Amazon EMR chiude un nodo principale non integro e fornisce una nuova istanza, in base al numero di istanze nel gruppo di istanze o in base alla capacità target per le flotte di istanze. Se alcuni nodi non sono integri per più di 45 minuti, Amazon EMR li sostituirà senza problemi. https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-scaledown-behavior.html#emr-scaledown-terminate-task Se la disattivazione regolare di un nodo non viene completata entro un'ora, il nodo viene terminato forzatamente, a meno che la terminazione non porti il cluster al di sotto del fattore di replica o dei vincoli di capacità HDFS.

Importante

Tieni presente che il tempo necessario prima che un nodo venga correttamente disattivato o chiuso può essere soggetto a modifiche.

Sebbene la sostituzione di un nodo non funzionante riduca in modo significativo la possibilità di perdita di dati, non elimina completamente il rischio. I dati HDFS possono andare persi definitivamente durante la sostituzione regolare di un'istanza principale non integra. Ti consigliamo di eseguire sempre il backup dei dati.

Per ulteriori informazioni sull'identificazione dei nodi non integri e sul ripristino, vedi Errori https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-troubleshoot-error-resource.html delle risorse. Inoltre, per ulteriori best practice da seguire per mantenere l'integrità di un cluster, consulta la seguente documentazione per l'errore di risorsa che il cluster Amazon EMR termina con NO_SLAVE_LEFT e i nodi principali FAILED_BY_MASTER.

Amazon EMR pubblica Amazon CloudWatch Events per la sostituzione di nodi non integri, così puoi tenere traccia di ciò che accade alle tue istanze core non integre. Per ulteriori informazioni, consulta Unhealthy node replacement events.

Impostazioni predefinite per la sostituzione dei nodi e la protezione dalla terminazione

La sostituzione dei nodi non integri è disponibile per tutte le versioni di Amazon EMR, ma le impostazioni predefinite dipendono dall'etichetta di versione scelta. Puoi modificare una di queste impostazioni configurando la sostituzione dei nodi non integri durante la creazione di un nuovo cluster o accedendo alla configurazione del cluster in qualsiasi momento.

Se stai creando un cluster a nodo singolo o un cluster ad alta disponibilità che esegue Amazon EMR versione 7.0 o precedente, l'impostazione predefinita di sostituzione dei nodi non integri dipende dalla protezione dalla terminazione:

  • L'attivazione della protezione da terminazione disabilita la sostituzione non integra dei nodi.

  • La disabilitazione della protezione da terminazione consente la sostituzione non integra dei nodi.

Configurazione della sostituzione di nodi non integri all'avvio di un cluster

Puoi abilitare o disabilitare la sostituzione dei nodi non integri quando avvii un cluster utilizzando la console, l'API o l' AWS CLI API.

L'impostazione predefinita per la sostituzione dei nodi non integri dipende dalla modalità di avvio del cluster:

  • Console Amazon EMR: la sostituzione dei nodi non integri è abilitata per impostazione predefinita.

  • AWS CLI aws emr create-cluster— la sostituzione dei nodi non integri è abilitata per impostazione predefinita, a meno che tu non lo specifichi. --no-unhealthy-node-replacement

  • Comando RunJobFlow API Amazon EMR: la sostituzione dei nodi non integri è abilitata per impostazione predefinita a meno che non si imposti il valore UnhealthyNodeReplacement booleano su o. True False

Console
Per attivare o disattivare la sostituzione dei nodi non integri quando crei un cluster con la console
  1. Accedi a e apri Console di gestione AWS la console Amazon EMR all'indirizzo. https://console.aws.amazon.com/emr

  2. In EMR su EC2, nel riquadro di navigazione a sinistra, scegli Cluster e quindi seleziona Crea cluster.

  3. Per la versione di rilascio EMR, scegli l'etichetta di versione di Amazon EMR desiderata.

  4. In Cluster termination and node replacement, assicurati che Unhealthy node replacement (scelta consigliata) sia preselezionata o deseleziona la selezione per disattivarla.

  5. Scegli qualsiasi altra opzione applicabile al cluster.

  6. Per avviare il cluster, scegli Create cluster (Crea cluster).

AWS CLI
Per attivare o disattivare la sostituzione dei nodi non integri quando crei un cluster utilizzando AWS CLI
  • Con il AWS CLI, puoi avviare un cluster con la sostituzione dei nodi non integri abilitata con il create-cluster comando con il --unhealthy-node-replacement parametro. La sostituzione dei nodi non integri è attiva per impostazione predefinita.

    L'esempio seguente crea un cluster con la sostituzione dei nodi non integri abilitata:

    Nota

    I caratteri di continuazione della riga Linux (\) sono inclusi per questioni di leggibilità. Possono essere rimossi o utilizzati nei comandi Linux. Per Windows, rimuovili o sostituiscili con un accento circonflesso (^).

    aws emr create-cluster --name "SampleCluster" --release-label emr-7.13.0 \ --applications Name=Hadoop Name=Hive Name=Pig \ --use-default-roles --ec2-attributes KeyName=myKey --instance-type m5.xlarge \ --instance-count 3 --unhealthy-node-replacement

    Per ulteriori informazioni sull'utilizzo dei comandi Amazon EMR in AWS CLI, consulta i comandi Amazon AWS CLI EMR.

Configurazione della sostituzione di nodi non integri in un cluster in esecuzione

Puoi attivare o disattivare la sostituzione di nodi non integri per un cluster in esecuzione utilizzando la console, l'API o l' AWS CLI API.

Console
Per attivare o disattivare la sostituzione di nodi non integri per un cluster in esecuzione con la console
  1. Accedi a e apri Console di gestione AWS la console Amazon EMR all'indirizzo. https://console.aws.amazon.com/emr

  2. In EMR on EC2 (EMR su EC2), nel riquadro di navigazione a sinistra, scegli Clusters (Cluster) e seleziona il cluster da aggiornare.

  3. Nella scheda Proprietà nella pagina dei dettagli del cluster, trova Terminazione del cluster e sostituzione del nodo e seleziona Modifica.

  4. Seleziona o deseleziona la casella di controllo Sostituzione del nodo non integro per attivare o disattivare la funzionalità. Quindi seleziona Save changes (Salva modifiche) per confermare.

AWS CLI
Per attivare o disattivare la sostituzione di nodi non integri per un cluster in esecuzione utilizzando AWS CLI
  • Per attivare la sostituzione dei nodi non integri su un cluster in esecuzione con il AWS CLI, usa il modify-cluster-attributes comando con il --unhealthy-node-replacement parametro. Per disabilitarla, utilizza il parametro --no-unhealthy-node-replacement.

    L'esempio seguente attiva la sostituzione dei nodi non integri nel cluster con ID: j-3KVTXXXXXX7UG

    aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --unhealthy-node-replacement

    L'esempio seguente disattiva la sostituzione non integra dei nodi sullo stesso cluster:

    aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --no-unhealthy-node-replacement