Salta al contenuto

Come posso risolvere gli errori "session '0' not found" e "Error sending http request and maximum retry encountered" in Amazon EMR?

3 minuti di lettura
0

Desidero risolvere gli errori che ricevo quando utilizzo un notebook Jupyter per eseguire un'applicazione Apache Livy su Amazon EMR.

Risoluzione

Quando utilizzi un notebook Jupyter per eseguire un'applicazione Apache Livy su Amazon EMR, potresti ricevere uno dei seguenti errori:

  • '404' from ######## with error payload: "session '0' not found"
  • "The code failed because of a fatal error: Error sending http request and maximum retry encountered."

Ricevi gli errori precedenti quando esegui la sessione di Jupyter Notebook fino al timeout. Per risolverli, aumenta il valore della proprietà livy.server.session.timeout in /etc/livy/conf/livy.conf nel nodo primario. Quindi riavvia livy-server.

Puoi modificare la proprietà livy.server.session.timeout su un cluster Amazon EMR in esecuzione o quando avvii un nuovo cluster.

Modifica livy.server.session.timeout su un cluster in esecuzione

Completa i seguenti passaggi:

  1. Apri /etc/livy/conf/livy.conf sul nodo primario attivo.
  2. Modifica il valore livy.server.session.timeout:
    sudo vim /etc/livy/conf/livy.conflivy.server.session.timeout 2h
    Nota: sostituisci 2h con il valore che risponde alle tue esigenze. Il valore predefinito è 1 ora.
  3. Per riavviare livy-server, esegui uno di questi comandi che soddisfa i requisiti della versione in uso sul nodo primario attivo.
    Per Amazon EMR versione 5.30.0 o successiva, Amazon EMR serie 6 e Amazon EMR serie 7 su Amazon Linux 2, esegui questo comando:
    sudo systemctl stop livy-server
    sudo systemctl start livy-server
    Per Amazon EMR versione 5.29.0 o precedente, esegui questo comando:
    sudo stop livy-server
    sudo start livy-server

Nota: quando livy-server si riavvia, non puoi accedere al cluster. Per evitare tempi di inattività, configura l'applicazione Apache Livy quando avvii un cluster Amazon EMR.

Modifica livy.server.session.timeout su un nuovo cluster

Aggiungi un oggetto di configurazione quando utilizzi Amazon EMR versione 4.6.0 o successiva per avviare un cluster.

Esempio:

[
    {
        "Classification": "livy-conf",
        "Properties": {
            "livy.server.session.timeout-check": "true",
            "livy.server.session.timeout": "2h",
            "livy.server.yarn.app-lookup-timeout": "120s"
        }
    }
]

Puoi anche modificare le seguenti proprietà correlate:

  • Quando attivi la proprietà livy.server.session.timeout-check, Apache Livy interrompe le sessioni inattive che raggiungono la soglia di timeout. L'impostazione predefinita è true.
  • La proprietà livy.server.yarn.app-lookup-timeout è il tempo per il quale Apache Livy cerca l'applicazione YARN prima di considerarla persa. L'impostazione predefinita è 60s.

Dopo aver eseguito il processo, assicurati di chiudere la sessione in Jupyter o Zeppelin. Quando sono aperte troppe sessioni, i nuovi processi non possono essere avviati finché non si rendono disponibili risorse.

Informazioni correlate

Apache Livy

Jupyter Notebook su Amazon EMR

AWS UFFICIALEAggiornata 10 mesi fa