Wie behebe ich die Fehler „Sitzung '0' nicht gefunden“ und „Fehler beim Senden der HTTP-Anfrage und maximale Wiederholung aufgetreten“ in Amazon EMR?

Lesedauer: 3 Minute
0

Ich möchte Fehler beheben, wenn ich eine Apache Livy-Anwendung mit einem Jupyter Notebook auf Amazon EMR ausführe.

Kurzbeschreibung

Wenn Sie eine Apache Livy-Anwendung mit einem Jupyter Notebook auf Amazon EMR ausführen, wird einer der folgenden Fehler angezeigt:

  • '404' von xxxxxxxx mit Fehler-Payload: „Sitzung '0' nicht gefunden“
  • „Der Code ist aufgrund eines schwerwiegenden Fehlers fehlgeschlagen: Fehler beim Senden der HTTP-Anfrage und maximale Wiederholungsrate.”

Diese Fehler treten normalerweise auf, wenn Sie die Jupyter Notebook-Sitzung so lange laufen lassen, bis das Zeitlimit abgelaufen ist. Um diese Fehler zu beheben, erhöhen Sie den Wert der Eigenschaft livy.server.session.timeout in /etc/livy/conf/livy.conf auf dem Hauptknoten. Starten Sie dann den Livy-Server neu.

Behebung

Sie können livy.server.session.timeout in einem laufenden Amazon EMR-Cluster oder beim Starten eines neuen Clusters ändern.

Auf einem laufenden Cluster

1.Öffnen Sie /etc/livy/conf/livy.conf auf dem Master-Knoten und ändern Sie dann den Wert livy.server.session.timeout (der Standardwert ist 1h). Beispiel:

sudo vim /etc/livy/conf/livy.conf
livy.server.session.timeout 2h

2.Führen Sie die folgenden Befehle auf dem Master-Knoten aus, um den Livy-Server neu zu starten:

Angenommen, Sie verwenden eine der folgenden Amazon EMR-Release-Versionen, die auf Amazon Linux 2 basiert:

  • Amazon EMR Version 5.30.0 oder höher
  • Amazon EMR 6.x-Serie

Führen Sie die folgenden Befehle aus:

sudo systemctl stop livy-server
sudo systemctl start livy-server

Wenn Sie die Amazon EMR-Version 5.29.0 oder früher verwenden, führen Sie die folgenden Befehle aus:

sudo stop livy-server
sudo start livy-server

Wenn der Livy-Server neu gestartet wird, ist Ihr Cluster nicht verfügbar. Um Ausfallzeiten zu vermeiden, konfigurieren Sie die Livy-Anwendung, wenn Sie einen Amazon EMR-Cluster starten.

Auf einem neuen Cluster

Fügen Sie ein Konfigurationsobjekt ähnlich dem folgenden hinzu, wenn Sie einen Cluster mit Amazon EMR Release-Version 4.6.0 oder höher starten. Zusätzlich zur Änderung von livy.server.session.timeout können Sie bei Bedarf die folgenden zugehörigen Eigenschaften ändern:

  • livy.server.session.timeout-check: Wenn diese Option aktiviert ist, stoppt Livy inaktive Sitzungen, die den Timeout-Schwellenwert erreichen. Die Standardeinstellung ist true.
  • livy.server.yarn.app-lookup-timeout: Die Dauer, die Livy nach der YARN-Anwendung sucht, bevor sie als verloren betrachtet wird. Die Standardeinstellung ist 60 s.
[
    {
        "Classification": "livy-conf",
        "Properties": {
            "livy.server.session.timeout-check": "true",
            "livy.server.session.timeout": "2h",
            "livy.server.yarn.app-lookup-timeout": "120s"
        }
    }
]

Nachdem Sie mit der Ausführung des Jobs fertig sind, sollten Sie die Sitzung in Jupyter oder Zeppelin schließen. Wenn zu viele Sitzungen geöffnet sind, können neue Jobs erst beginnen, wenn Ressourcen verfügbar sind.


Verwandte Informationen

Apache Livy

Jupyter Notebook auf Amazon EMR

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr