Utilizzo della protezione dalla terminazione per proteggere i cluster dall'arresto accidentale - 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à.

Utilizzo della protezione dalla terminazione per proteggere i cluster dall'arresto accidentale

La protezione dalla terminazione protegge i cluster dalla terminazione accidentale, il che può essere particolarmente utile per i cluster di lunga durata che elaborano carichi di lavoro critici. Quando la protezione da cessazione è abilitata su un cluster di lunga durata, è necessario rimuovere esplicitamente la protezione da cessazione dal cluster prima di poterlo terminare. Questo aiuta a garantire che EC2 le istanze non vengano chiuse a causa di un incidente o di un errore. È possibile abilitare la protezione da cessazione al momento della creazione di un cluster ed è possibile modificare l'impostazione su un cluster in esecuzione.

Con la protezione dalla terminazione abilitata, l'TerminateJobFlowsazione in Amazon EMR API non funziona. Gli utenti non possono terminare il cluster utilizzando questo API o il terminate-clusters comando di AWS CLI. APIRestituisce un errore e le CLI uscite con un codice di ritorno diverso da zero. Quando usi la EMR console Amazon per chiudere un cluster, ti viene richiesto un passaggio aggiuntivo per disattivare la protezione dalla terminazione.

avvertimento

La protezione dalla terminazione non garantisce che i dati vengano conservati in caso di errore umano o di soluzione alternativa, ad esempio se un comando di riavvio viene emesso dalla riga di comando mentre si è connessi all'istanza utilizzandoSSH, se un'applicazione o uno script in esecuzione sull'istanza emette un comando di riavvio o se Amazon o EC2 Amazon vengono utilizzati per disabilitare la protezione dalla terminazione. EMR API Questo vale anche se utilizzi le EMR versioni 7.1 e successive di Amazon e un'istanza diventa non integra e irrecuperabile. Anche con la protezione dalla terminazione abilitata, i dati salvati nello storage dell'istanza, compresi HDFS i dati, possono andare persi. Scrivi l'output dei dati nei percorsi Amazon S3 e crea strategie di backup appropriate per i tuoi requisiti di business continuity.

Questo tipo di protezione non pregiudica la possibilità di dimensionare le risorse del cluster mediante una delle seguenti operazioni:

Protezione dalla terminazione e Amazon EC2

L'impostazione di protezione dalla terminazione in un EMR cluster Amazon corrisponde all'DisableApiTerminationattributo per tutte le EC2 istanze Amazon del cluster. Ad esempio, se abiliti la protezione dalla terminazione in un EMR cluster, Amazon imposta EMR automaticamente su true DisableApiTermination per tutte le EC2 istanze all'interno del EMR cluster. Lo stesso vale se disabiliti la protezione dalla terminazione. Amazon imposta EMR automaticamente su false DisableApiTermination per tutte le EC2 istanze all'interno del EMR cluster. Se interrompi o riduci un cluster da Amazon EMR e le EC2 impostazioni di Amazon sono in conflitto per un'EC2istanza, Amazon EMR dà la priorità all'EMRimpostazione Amazon rispetto alle impostazioni DisableApiStop e DisableApiTermination in Amazon EC2 e continua a terminare l'istanza. EC2

Ad esempio, puoi utilizzare la EC2 console Amazon per abilitare la protezione dalla terminazione su un'EC2istanza Amazon in un EMR cluster con la protezione dalla terminazione disabilitata. Se interrompi o riduci il cluster con la EMR console Amazon, AWS CLI, o Amazon EMRAPI, Amazon EMR sovrascrive l'DisableApiTerminationimpostazione, la imposta su false e termina l'istanza insieme ad altre istanze.

Puoi anche utilizzare la EC2 console Amazon per abilitare la protezione da arresto su un'EC2istanza Amazon in un EMR cluster con la protezione dalla terminazione disattivata. Se interrompi o riduci il cluster, Amazon EMR imposta DisableApiStop su false in Amazon EC2 e termina l'istanza insieme ad altre istanze.

Amazon EMR sostituisce l'DisableApiStopimpostazione solo quando chiudi o riduci un cluster. Quando abiliti o disabiliti la protezione dalla terminazione in un EMR cluster, Amazon EMR non modifica l'disableApiStopimpostazione per nessuna delle EC2 istanze del rispettivo EMR cluster.

Importante

Se crei un'istanza come parte di un EMR cluster Amazon con protezione dalla terminazione e utilizzi Amazon EC2 API o AWS CLI comandi per modificare l'istanza in modo che DisableApiTermination siafalse, e quindi Amazon EC2 API o AWS CLI i comandi eseguono l'TerminateInstancesoperazione, l'EC2istanza Amazon termina.

Protezione dalla terminazione e nodi non integri YARN

Amazon controlla EMR periodicamente YARN lo stato di Apache Hadoop dei nodi in esecuzione su EC2 istanze Amazon core e task in un cluster. Lo stato di salute viene segnalato dal servizio di controllo sanitario. NodeManager Se un nodo segnalaUNHEALTHY, il controller di EMR istanza Amazon aggiunge il nodo a una denylist e non gli assegna YARN contenitori finché non torna a funzionare. A seconda dello stato di protezione dalla terminazione, della sostituzione dei nodi non integri e della versione di EMR rilascio di Amazon, Amazon EMR sostituirà l'istanza non integra o interromperà l'allocazione dei controller all'istanza.

Protezione dalla terminazione e risoluzione dopo l'esecuzione della fase

Quando abiliti la terminazione dopo l'esecuzione della fase e abiliti anche la protezione dalla terminazione, Amazon EMR ignora la protezione dalla terminazione.

Quando si inviano fasi a un cluster, è possibile impostare la proprietà ActionOnFailure per stabilire cosa accede se la fase non può completare l'esecuzione a causa di un errore. I valori possibile per questa impostazione sono TERMINATE_CLUSTER (TERMINATE_JOB_FLOW con le versioni precedenti), CANCEL_AND_WAIT e CONTINUE. Per ulteriori informazioni, consulta Invio di lavoro a un cluster.

Se una fase configurata con ActionOnFailure set to fallisceCANCEL_AND_WAIT, se è abilitata la terminazione dopo l'esecuzione della fase, il cluster si interrompe senza eseguire i passaggi successivi.

Se una fase, configurata con ActionOnFailure impostato su TERMINATE_CLUSTER, non riesce, è possibile utilizzare la tabella delle impostazioni riportata di seguito per determinare il risultato.

ActionOnFailure Terminazione dopo l'esecuzione della fase Termination protection (Protezione da cessazione) Risultato

TERMINATE_CLUSTER

Abilitato

Disabilitato

Il cluster viene terminato

Abilitato

Abilitato

Il cluster viene terminato

Disabilitato

Abilitato

Il cluster non viene terminato

Disabilitato

Disabilitato

Il cluster viene terminato

Protezione da cessazione e istanze Spot

La protezione dalla EMR terminazione di Amazon non impedisce l'interruzione di un'istanza Amazon EC2 Spot quando il prezzo Spot supera il prezzo Spot massimo.

Configurazione della protezione da cessazione all'avvio di un cluster

Puoi abilitare o disabilitare la protezione dalla terminazione quando avvii un cluster utilizzando la console, il AWS CLI o il. API

Per i cluster a nodo singolo, le impostazioni predefinite di protezione dalla terminazione sono le seguenti:

  • Avvio di un cluster tramite Amazon EMR Console: Termination Protection è disabilitato per impostazione predefinita.

  • Avvio di un cluster tramite AWS CLI aws emr create-cluster—La protezione dalla terminazione è disabilitata a meno che non sia specificato--termination-protected.

  • L'avvio di un cluster tramite Amazon EMR API RunJobFlowCommand—Termination Protection è disabilitato a meno che il valore TerminationProtected booleano non sia impostato su. true

Per i cluster ad alta disponibilità, le impostazioni predefinite di protezione dalla terminazione sono le seguenti:

  • Avvio di un cluster tramite Amazon EMR Console: la protezione dalla terminazione è abilitata per impostazione predefinita.

  • Avvio di un cluster tramite AWS CLI aws emr create-cluster—La protezione dalla terminazione è disabilitata a meno che non sia specificato--termination-protected.

  • L'avvio di un cluster tramite Amazon EMR API RunJobFlowCommand—Termination Protection è disabilitato a meno che il valore TerminationProtected booleano non sia impostato su. true

Console
Per attivare o disattivare la protezione dalla terminazione quando crei un cluster con la console
  1. Accedi a AWS Management Console e apri la EMR console Amazon all'indirizzo https://console.aws.amazon.com/emr.

  2. EC2Nel riquadro di navigazione a sinistra, scegli Cluster, quindi scegli Crea cluster. EMR

  3. Per la versione EMR di rilascio, scegli emr-6.6.0 o versione successiva.

  4. In Terminazione del cluster e sostituzione dei nodi, assicurati che l'opzione Usa protezione dalla terminazione sia preselezionata oppure 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 protezione dalla terminazione quando crei un cluster utilizzando il AWS CLI
  • Con il plugin AWS CLI, è possibile avviare un cluster con la protezione dalla terminazione abilitata con il create-cluster comando con il --termination-protected parametro. Per impostazione predefinita, la protezione da cessazione è disabilitata.

    Nell'esempio seguente viene creato un cluster con protezione da cessazione abilitata:

    Nota

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

    aws emr create-cluster --name "TerminationProtectedCluster" --release-label emr-7.2.0 \ --applications Name=Hadoop Name=Hive Name=Pig \ --use-default-roles --ec2-attributes KeyName=myKey --instance-type m5.xlarge \ --instance-count 3 --termination-protected

    Per ulteriori informazioni sull'utilizzo dei EMR comandi Amazon nel AWS CLI, consulta https://docs.aws.amazon.com/cli/latest/reference/emr.

Configurazione della protezione da cessazione per i cluster in esecuzione

È possibile configurare la protezione dalla terminazione per un cluster in esecuzione con la console o AWS CLI.

Console
Per attivare o disattivare la protezione dalla terminazione per un cluster in esecuzione con la console
  1. Accedi a AWS Management Console e apri la EMR console Amazon all'indirizzo https://console.aws.amazon.com/emr.

  2. EC2Nel riquadro di navigazione a sinistra, scegli Cluster e seleziona il cluster che desideri aggiornare. EMR

  3. Nella scheda Properties (Proprietà) della pagina dei dettagli del cluster, cerca Cluster termination (Terminazione del cluster) e seleziona Edit (Modifica).

  4. Seleziona o deseleziona la casella di controllo Use termination protection (Utilizza la protezione da terminazione) per attivare o disattivare la caratteristica. Quindi seleziona Save changes (Salva modifiche) per confermare.

AWS CLI
Per attivare o disattivare la protezione dalla terminazione per un cluster in esecuzione utilizzando il AWS CLI
  • Per abilitare la protezione dalla terminazione su un cluster in esecuzione con AWS CLI, utilizzare il modify-cluster-attributes comando con il --termination-protected parametro. Per disabilitarla, utilizza il parametro --no-termination-protected.

    L'esempio seguente abilita la protezione dalla terminazione sul cluster con ID j-3KVTXXXXXX7UG:

    aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --termination-protected

    Nell'esempio seguente viene disabilitata la protezione da cessazione sullo stesso cluster:

    aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --no-termination-protected