Perché non riesco a connettere il mio notebook EMR al cluster?

5 minuti di lettura
0

Non riesco a connettere il mio notebook Amazon EMR al cluster EMR.

Breve descrizione

Quando si connette un notebook EMR al cluster EMR, è possibile che si verifichino errori simili ai seguenti:

  • Unable to attach to cluster j-XXXXXXXXXXX. Reason: Attaching the workspace(notebook) failed. Internal error (Impossibile connettersi al cluster J-xxxxxxxxxxx. Motivo: la connessione dell'area di lavoro (notebook) non è riuscita. Errore interno).
  • Notebook is not supported in the chosen Availability Zone. Please try using a cluster in another availability zone (Il notebook non è supportato nella zona di disponibilità selezionata. Provare a utilizzare un cluster in un'altra zona di disponibilità).
  • Attaching the workspace(notebook) failed. Invalid configuration (La connessione dell'area di lavoro (notebook) non è riuscita. Configurazione non valida).
  • Workspace(notebook) is stopped. Cluster j-XXXXXXXXXX does not have JupyterEnterpriseGateway application installed. Please retry with another cluster. (L'area di lavoro (notebook) è interrotta. Nel cluster J-xxxxxxxxxx non è installata l'applicazione JUPYTEREnterpriseGateway. Riprovare con un altro cluster).
  • Errori dell'area di lavoro: Not able to attached EMR notebook to running cluster (Non è possibile connettere il notebook EMR al cluster in esecuzione). Error starting kernel (Errore durante l'avvio del kernel). HTTP 403: Forbidden (Workspace is not attached to cluster. Click 'Ok' to continue) (HTTP 403: non consentito (lo spazio di lavoro non è connesso al cluster. Premere "OK" per continuare)).

Risoluzione

Verificare che il cluster connesso sia compatibile e soddisfi tutti i requisiti dei cluster

I requisiti dei cluster per i notebook EMR sono i seguenti:

1.    Sono supportati solo i cluster creati utilizzando la versione 5.18.0 e successive di Amazon EMR.

2.    I cluster creati utilizzando istanze Amazon Elastic Compute Cloud (Amazon EC2) con processori AMD EPYC non sono supportati. Ad esempio, i tipi di istanza m5a.* e r5a.* non sono supportati.

3.    I notebook EMR funzionano solo con i cluster creati con la variabile VisibleToAllUsers impostata su true. VisibleToAllUsers è impostata su true per impostazione predefinita.

4.    Il cluster deve essere avviato all'interno di un Amazon Virtual Private Cloud (Amazon VPC) di EC2. Sono supportate sottoreti pubbliche e private.

5.    I notebook EMR attualmente supportano solo i cluster Apache Spark.

6.    Per le versioni 5.32.0 e successive o 6.2.0 e successive di EMR, il cluster deve eseguire l'applicazione Jupyter Enterprise Gateway.

7.    I cluster che utilizzano l'autenticazione Kerberos non sono supportati.

8.    I cluster integrati con AWS Lake Formation supportano solo l'installazione di librerie destinate ai notebook. L'installazione di kernel e librerie sul cluster non è supportata.

9.    I cluster con più nodi primari non sono supportati.

10.    I cluster che utilizzano istanze Amazon EC2 basate su AWS Graviton2 non sono supportati.

Per ulteriori informazioni, consulta Requisiti del cluster.

Errore: Unable to attach to cluster j-XXXXXXXXXXX. Reason: Attaching the workspace(notebook) failed. Internal error (Impossibile connettersi al cluster J-xxxxxxxxxxx. Motivo: la connessione dell'area di lavoro (notebook) non è riuscito. Errore interno)

Ciò si verifica nei cluster EMR con la rappresentazione di Apache Livy attivata. Questo significa che la variabile livy.impersonation.enabled è impostata su true. In Amazon EMR 6.4.0, la rappresentazione di Livy è impostata su "true" per impostazione predefinita. La funzionalità dei notebook EMR con la rappresentazione dell'utente di Livy disattivata prevede che anche HttpFS sia disattivato per impostazione predefinita. Ciò significa che il notebook EMR non può connettersi a cluster in cui è attivata la rappresentazione di Livy. Per ulteriori informazioni, consulta Rilascio 6.4.0 di Amazon EMR.

Per evitare questo problema, procedi come segue:

È possibile utilizzare qualsiasi versione precedente o più recente di EMR 6.4.0 in cui è in esecuzione il servizio hadoop-httpfs.

oppure

Riavviare il servizio hadoop-httpfs sul cluster effettuando le seguenti operazioni:

1.    Utilizza SSH per connetterti al nodo primario EMR.

2.    Esegui il comando seguente per avviare il servizio hadoop-httpfs:

sudo systemctl start hadoop-httpfs

In alternativa, puoi avviare il servizio hadoop-httpfs utilizzando una fase di EMR:

==========
JAR location: command-runner.jar
Main class: None
Arguments: bash -c "sudo systemctl start hadoop-httpfs"
Action on failure: Continue
==========

Esegui il seguente comando per verificare lo stato di HttpFS:

$ sudo systemctl status hadoop-httpfs
  hadoop-httpfs.service - Hadoop httpfs
   Loaded: loaded (/etc/systemd/system/hadoop-httpfs.service; disabled; vendor preset: disabled)
   Active: active (running)...

3.    Riconnettere il cluster EMR.

Errore: errori dell'area di lavoro

Di seguito sono riportati gli errori più comuni dell'area di lavoro quando si tenta di connettere il cluster EMR a un notebook EMR:

  • Not able to attached EMR notebook to running cluster (Non è possibile connettere il notebook EMR al cluster in esecuzione).
  • Error Starting Kernel (Errore durante l'avvio del kernel).
  • HTTP 403: Forbidden (Workspace is not attached to cluster. Choose 'Ok' to continue) (HTTP 403: non consentito (lo spazio di lavoro non è connesso al cluster. Premere "OK" per continuare)).

Questi errori si verificano perché l'account root AWS non è autorizzato a connettere notebook EMR ai cluster EMR. L'utente root è considerato un utente non autorizzato ad avviare i kernel. Se il valore di KERNEL_USERNAME appare nell'elenco unauthorized_users, la richiesta di connessione fallisce. Per ulteriori informazioni, consulta Security features (Funzionalità di sicurezza).

Per evitare errori dell'area di lavoro, crea un utente AWS Identity and Access Manager (AWS IAM) e connetti il cluster al notebook. Per ulteriori informazioni, consulta la sezione Creazione di un utente IAM nell'account AWS.


AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa