Skip to content

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, die ich erhalte, weil ich ein Jupyter-Notebook verwende, um eine Apache Livy-Anwendung auf Amazon EMR auszuführen.

Lösung

Möglicherweise erhältst du eine der folgenden Fehlermeldungen, wenn du ein Jupyter-Notebook verwendest, um eine Apache Livy-Anwendung auf Amazon EMR auszuführen:

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

Du erhältst die oben genannten Fehler, wenn du die Jupyter Notebook-Sitzung ausführst, bis das Zeitlimit überschritten wird. Um diese Fehler zu beheben, erhöhe den Wert der Eigenschaft livy.server.session.timeout in /etc/livy/conf/livy.conf auf dem Primärknoten. Starte dann den livy-Server neu.

Du kannst die Eigenschaft livy.server.session.timeout in einem laufenden Amazon EMR-Cluster oder beim Starten eines neuen Clusters ändern.

Ändere livy.server.session.timeout auf einem laufenden Cluster

Führe die folgenden Schritte aus:

  1. Öffne /etc/livy/conf/livy.conf auf dem aktiven Primärknoten.
  2. Ändere den Wert livy.server.session.timeout:
    sudo vim /etc/livy/conf/livy.conflivy.server.session.timeout 2h
    Hinweis: Ersetze 2h durch den Wert, der den Anforderungen entspricht. Der Standardwert ist 1 Stunde.
  3. Um livy-server neu zu starten, führe einen der folgenden Befehle aus, der den Versionsanforderungen auf dem aktiven Primärknoten entspricht.
    Führe für Amazon EMR Version 5.30.0 oder höher, die Serien Amazon EMR 6 und Amazon EMR 7auf Amazon Linux 2 den folgenden Befehl aus:
    sudo systemctl stop livy-server
    sudo systemctl start livy-server
    Führe für Amazon EMR-Version 5.29.0 oder früher den folgenden Befehl aus:
    sudo stop livy-server
    sudo start livy-server

Hinweis: Wenn der livy-server neu gestartet wird, kannst du nicht auf das Cluster zugreifen. Um Ausfallzeiten zu vermeiden, konfiguriere die Apache Livy-Anwendung, wenn du einen Amazon EMR-Cluster startest.

Ändere livy.server.session.timeout auf einem neuen Cluster

Füge ein Konfigurationsobjekt hinzu, wenn du die Amazon EMR-Version 4.6.0 oder höher verwendest, um einen Cluster zu starten.

Beispiel:

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

Du kannst auch die folgenden verwandten Eigenschaften ändern:

  • Wenn du die Eigenschaft livy.server.session.timeout-check aktivierst, stoppt Apache Livy inaktive Sitzungen, die den Timeout-Schwellenwert erreichen. Die Standardeinstellung ist true.
  • Die Eigenschaft ivy.server.yarn.app-lookup-timeout gibt an, wie lange Apache Livy nach der YARN-Anwendung sucht, bevor die Anwendung sie als verloren betrachtet. Die Standardeinstellung ist 60 s.

Nachdem du den Job ausgeführt hast, stelle sicher, dass du die Sitzung in Jupyter oder Zeppelin schließt. 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 OFFICIALAktualisiert vor 3 Monaten