Warum kann ich meine Amazon-SageMaker-Notebook-Instance, die mit einem AWS-Glue-Entwicklungsendpunkt unterstützt wird, nicht starten?

Letzte Aktualisierung: 03.12.2021

Bei meiner Amazon-SageMaker-Notebook-Instance, die mit einem AWS-Glue-Entwicklungsendpunkt unterstützt wird, tritt eine Zeitüberschreitung mit dem folgenden Fehler auf:

„Notebook-Instance-Lebenszyklus-Konfiguration“ arn:aws:sagemaker:us-xxxx-x:xxxxxx:notebook-instance-lifecycle-config/mylifecycleconfig 'für Notebook-Instanz' arn:aws:sagemaker: us-xxxx-x:xxxxxx:notebook-instance/mynotebook“ dauerte länger als 5 Minuten. Bitte überprüfen Sie Ihre CloudWatch Logs für weitere Details, und ob Ihre Notebook-Instance über einen Internetzugang verfügt.“

Lösung

Dieser Fehler könnte darauf hindeuten, dass der Apache Livy-Dienst auf dem AWS Glue-Entwicklungsendpunkt nicht mit dem Server kommunizieren kann, auf dem das Notebook ausgeführt wird. Der häufigste Grund für dieses Problem ist, dass die an das Notebook angehängte Lebenszyklus-Konfiguration möglicherweise auf einen nicht vorhandenen Entwicklungsendpunkt verweist. Das SageMaker-Lebenszyklus-Skript wird verwendet, um das SparkMagic-Plugin so zu konfigurieren, dass die REST-API für einen Livy-Server aufgerufen wird, der auf einem Entwicklungsendpunkt ausgeführt wird. Informationen darüber, wie diese Komponenten zusammenarbeiten, finden Sie unter Funktionsweise von AWS-Glue-Entwicklungsendpunkten mit SageMaker-Notebooks.

Zur Lösung dieses Problems probieren Sie die folgenden Optionen zur Fehlerbehebung aus.

Erstellen eines neuen Entwicklungsendpunkts

Erstellen Sie einen neuen AWS Glue-Entwicklungsendpunkt, vorzugsweise mit demselben Namen und derselben Konfiguration wie der Endpunkt, den Sie verwendet haben. Weitere Informationen finden Sie unter Hinzufügen eines Entwicklungsendpunkts.

Aktualisieren der Lebenszyklus-Konfiguration der Notebook-Instance

Sie müssen die Lebenszyklus-Konfiguration der Notebook-Instance aktualisieren, die fehlgeschlagen ist, wenn eine der folgenden Bedingungen zutrifft:

  • Sie haben einen Entwicklungsendpunkt mit einem anderen Namen erstellt.
  • Sie möchten einen Entwicklungsendpunkt verwenden, den Sie zuvor erstellt haben.

Gehen Sie wie folgt vor, um die Lebenszyklus-Konfiguration des Notebooks zu aktualisieren:

1.    Öffnen Sie die SageMaker-Konsole.

2.    Wählen Sie im Navigationsbereich unter Notebook die Option Lifecycle configurations (Lebenszyklus-Konfigurationen) aus.

3.    Wählen Sie die Lebenszyklus-Konfiguration der fehlgeschlagenen Notebook-Instance aus.

4.    Wählen Sie Bearbeiten.

5.    Ersetzen Sie im Abschnitt Scripts (Skripte) für die Skripte Start notebook (Notizbuch starten) und Create notebook (Notebook erstellen) jeweils den Namen des Entwicklungsendpunkts im folgenden Befehl durch den Namen des erstellten Endpunkts (example_new_dev_endpoint):

Ersetzen Sie us-east-1 im Befehl durch die Region Ihres AWS-Glue-Entwicklungsendpunkts.

aws glue get-dev-endpoint --endpoint-name example_new_dev_endpoint --endpoint https://glue.us-east-1.amazonaws.com

Hinweis: Stellen Sie sicher, dass das SageMaker-Notebook über die erforderlichen Berechtigungen für den Zugriff auf den Entwicklungsendpunkt verfügt.

Wiederherstellen der Notebook-Daten

Wenn Sie Zugriff auf SageMaker haben, aber keinen neuen Entwicklungsendpunkt erstellen können, können Sie die Wiederherstellung des Notebooks in Erwägung ziehen.

Gehen Sie wie folgt vor, um die Notebook-Daten wiederherzustellen:

  1. Öffnen Sie die SageMaker-Konsole.
  2. Wählen Sie im Navigationsbereich unter Notebook Notebook-Instances aus.
  3. Wählen Sie das Notebook aus, das Sie wiederherstellen möchten.
  4. Wenn Ihr Notebook-Status nicht gestoppt ist, wählen Sie Aktionen und dann Stopp, um die Notebook-Instance zu stoppen.
    Sie können sehen, dass sich der Status der Notebook-Instance zu Wird gestoppt ändert. Warten Sie, bis sich der Status auf Gestoppt ändert, um den Rest der Schritte abzuschließen.
  5. Wählen Sie Aktionen und dann Einstellungen aktualisieren.
  6. Wählen Sie auf der Seite Notebook-Instance bearbeiten unter Zusätzliche Konfiguration für die Lebenszyklus-Konfiguration Keine Konfiguration aus.
  7. Wählen Notebook-Instance aktualisieren.

Der Status Ihrer Notebook-Instance ändert sich zu Wird aktualisiert. Wenn die Aktualisierung der Notebook-Instance abgeschlossen ist, ändert sich der Status in Gestoppt. Wählen Sie Starten, um die Instance zu starten. Nachdem die Instance gestartet wurde, können Sie auf Jupyter und JupyterLab zugreifen, um Ihre Skripte und Daten lokal herunterzuladen. Sie können jedoch immer noch keine Verbindung zum AWS Glue-Entwicklungsendpunkt herstellen.

Wichtig: Sie können Ihre Skripte mit einem GitHub-Repository verknüpfen, um den Verlust von Daten in Zukunft zu vermeiden.

Hinweis: Wenn bei der Lebenszyklus-Konfiguration beim Versuch, die Bibliotheken zu installieren, ein Timeout eintritt, siehe Wie kann ich sicher sein, dass manuell installierte Bibliotheken in Amazon SageMaker bestehen bleiben, wenn bei meiner Lebenszyklus-Konfiguration beim Versuch, die Bibliotheken zu installieren, ein Timeout bei der Installation der Bibliotheken eintritt?