Salta al contenuto

Perché il mio cluster Amazon EMR viene terminato con un errore "application provisioning failed"?

6 minuti di lettura
0

Il mio cluster Amazon EMR viene terminato con un errore di "application provisioning failed".

Risoluzione

Quando Amazon EMR non è in grado di installare, configurare o avviare un software specifico all'avvio di un cluster Amazon EMR, potresti ricevere l'errore "application provisioning failed".

Rivedi i log di provisioning di Amazon EMR

Amazon EMR archivia i log di provisioning in un bucket Amazon Simple Storage Service (Amazon S3) specificato all'avvio del cluster.

Completa i seguenti passaggi:

  1. Apri la console Amazon EMR.
  2. Nel pannello di navigazione, scegliCluster. Quindi scegli il cluster Amazon EMR che ha generato l'errore per visualizzare i dettagli del cluster.
  3. Nella sezione Riepilogo, scegli Terminato con errori e annota l'ID del nodo principale incluso nel messaggio di errore.
  4. Nella sezione Log del cluster, scegli l'URL della posizione di Amazon S3.
  5. Segui questo percorso per accedere alla cartella UUID:
    node/example-primary-node-ID/provision-node/apps-phase/0/example-UUID/.
    Nota: sostituisci example-primary-node-ID con l'ID del tuo nodo primario. Sostituisci example-UUID con il tuo UUID.
  6. Nell'elenco risultante, seleziona puppet.log.gz e scegli Apri per visualizzare il provisioning in una nuova scheda del browser.

Identifica i motivi degli errori nei log di provisioning

Parametri di configurazione non supportati possono causare errori. Anche nomi host errati, password errate o problemi generali del sistema operativo possono causare errori. Cerca nei log le parole chiave correlate, tra cui "error", "err" o "fail".

Problemi quando ti connetti a un metastore esterno con un'istanza Amazon RDS

Puoi configurare alcune applicazioni Amazon EMR, come Apache Hive, Hue o Apache Oozie per archiviare i dati in un database esterno, come Amazon Relational Database Service (Amazon RDS). Quando si verificano problemi di connessione con il database esterno, ricevi un messaggio di errore.

Esempio di messaggio di errore da Hive:

2022-11-26 02:59:36 +0000 /Stage[main]/Hadoop_hive::Init_metastore_schema/Exec[init hive-metastore schema]/returns (notice): org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.
2022-11-26 02:59:36 +0000 /Stage[main]/Hadoop_hive::Init_metastore_schema/Exec[init hive-metastore schema]/returns (notice): Underlying cause: java.sql.SQLNonTransientConnectionException : Could not connect to address=(host=hostname)(port=3306)(type=master) : Socket fail to connect to host:hostname, port:3306. hostname
2022-11-26 02:59:36 +0000 /Stage[main]/Hadoop_hive::Init_metastore_schema/Exec[init hive-metastore schema]/returns (notice): SQL Error code: -1

Per risolvere questo tipo di errore, intraprendi le seguenti azioni:

  • Verifica che il nome host, l'utente, la password e il database dell'istanza Amazon RDS siano corretti.
  • Verifica che le regole in entrata del gruppo di sicurezza delle istanze Amazon RDS consentano le connessioni dal gruppo di sicurezza del nodo primario di Amazon EMR.

Problemi durante la connessione a un KDC esterno

Amazon EMR ti consente di configurare un KDC esterno per aggiungere un ulteriore livello di sicurezza. Puoi inoltre creare una relazione di attendibilità con un server Active Directory. Se si verifica un problema quando contatti il KDC o tenti di accedere a un dominio, ricevi un messaggio di errore.

Esempio di messaggio di errore di Puppet:

2022-11-26 03:02:01 +0000 Puppet (err): 'echo "${AD_DOMAIN_JOIN_PASSWORD}" | realm join -v -U "${AD_DOMAIN_JOIN_USER}"@"${CROSS_REALM_TRUST_REALM}" "${CROSS_REALM_TRUST_DOMAIN}"' returned 1 instead of one of [0]
2022-11-26 03:02:01 +0000 /Stage[main]/Kerberos::Ad_joiner/Exec[realm_join]/returns (err): change from 'notrun' to ['0'] failed: 'echo "${AD_DOMAIN_JOIN_PASSWORD}" | realm join -v -U "${AD_DOMAIN_JOIN_USER}"@"${CROSS_REALM_TRUST_REALM}" "${CROSS_REALM_TRUST_DOMAIN}"' returned 1 instead of one of [0]

Per risolvere questo tipo di errore, intraprendi le seguenti azioni:

  • Controlla di aver digitato correttamente il realm Kerberos.
  • Controlla di aver inserito correttamente la password amministrativa di KDC.
  • Controlla di aver digitato correttamente l'utente aggiunto e la password di accesso ad Active Directory.
  • Verifica che Active Directory contenga l'utente aggiunto e che l'utente abbia le autorizzazioni corrette.
  • Per KDC e Active Directory ospitati su Amazon Elastic Compute Cloud (Amazon EC2), verifica che le regole in entrata del gruppo di sicurezza KDC e Active Directory consentano le connessioni dal gruppo di sicurezza del nodo primario di Amazon EMR.
  • Per KDC e Active Directory ospitati all'esterno di Amazon EC2, verifica che KDC e Active Directory consentano le connessioni dal cloud privato virtuale (VPC) e dalla sottorete del cluster Amazon EMR.

Problemi all'avvio di servizi, come YARN ResourceManager, Hadoop NameNode o Spark History Server

Amazon EMR consente di creare una configurazione personalizzata di tutte le applicazioni quando avvii un cluster Amazon EMR. Tuttavia, queste configurazioni possono talvolta bloccare i servizi dal processo di avvio. Quando il servizio non può essere avviato a causa di un problema, ricevi un messaggio di errore.

Esempio di messaggio di errore da Apache Spark History Server:

2022-11-26 03:34:13 +0000 Puppet (err): Systemd start for spark-history-server failed!journalctl log for spark-history-server:
-- Logs begin at Sat 2022-11-26 03:27:57 UTC, end at Sat 2022-11-26 03:34:13 UTC. --
Nov 26 03:34:10 ip-192-168-1-32 systemd[1]: Starting Spark history-server...
Nov 26 03:34:10 ip-192-168-1-32 spark-history-server[1076]: Starting Spark history-server (spark-history-server):[OK]
Nov 26 03:34:10 ip-192-168-1-32 su[1112]: (to spark) root on none
Nov 26 03:34:13 ip-192-168-1-32 systemd[1]: spark-history-server.service: control process exited, code=exited status=1
Nov 26 03:34:13 ip-192-168-1-32 systemd[1]: Failed to start Spark history-server.
Nov 26 03:34:13 ip-192-168-1-32 systemd[1]: Unit spark-history-server.service entered failed state.  
Nov 26 03:34:13 ip-192-168-1-32 systemd[1]: spark-history-server.service failed.
2022-11-26 03:34:13 +0000 /Stage[main]/Spark::History_server/Service[spark-history-server]/ensure (err): change from 'stopped' to 'running' failed: Systemd start for spark-history-server failed!
journalctl log for spark-history-server:

Per risolvere questo tipo di errore, intraprendi le seguenti azioni:

  • Verifica quale servizio non è stato avviato.
  • Controlla le impostazioni di configurazione per individuare eventuali errori di ortografia.
  • Controlla il log di Amazon S3 nella posizione specificata per individuare la causa dell'errore. Ad esempio, s3://example-log-location/example-cluster-ID/node/example-primary-node-ID/applications/example-failed-application/example-failed-service.gz.

Problemi durante il download o l'installazione di applicazioni

Quando Amazon EMR non riesce a installare o scaricare un'applicazione, il cluster Amazon EMR genera un errore e i log di provisioning non vengono completati. Esamina il registro stderr.gz per identificare la causa dell'errore.
Esempio di messaggio di errore:

stderr.gzError Summary
-------------
Disk Requirements:
  At least 2176MB more space needed on the / filesystem.

2022-11-26 03:18:44,662 ERROR Program: Encountered a problem while provisioning
java.lang.RuntimeException: Amazon-linux-extras topics enabling or yum packages installation failed.

Per risolvere questo tipo di errore, aumenta il volume Amazon Elastic Block Store (Amazon EBS) principale all'avvio del cluster Amazon EMR.

I log di Amazon S3 non sono disponibili

Quando Amazon EMR non riesce a effettuare il provisioning dell'applicazione e non vengono generati log in Amazon S3, ricevi un messaggio di errore. Un errore di rete potrebbe aver causato l'errore della registrazione di Amazon S3.

Per risolvere questo tipo di errore, intraprendi le seguenti azioni:

Informazioni correlate

Errore di provisioning del cluster EMR

AWS UFFICIALEAggiornata 4 mesi fa