Ongoing service disruptions
For the most recent update on ongoing service disruptions affecting the AWS Middle East (UAE) Region (ME-CENTRAL-1), refer to the AWS Health Dashboard. For information on AWS Service migration, see How do I migrate my services to another region?
Wie behebe ich Timeout-Probleme mit der Amazon SageMaker AI-Notebook-Instance, wenn ich zusätzliche Bibliotheken installiere?
Wenn ich versuche, zusätzliche Bibliotheken in meiner Amazon SageMaker AI-Notebook-Instance zu installieren, erhalte ich einen Timeout-Fehler.
Lösung
Wenn ein Skript Lebenszyklusonfigurationen länger als 5 Minuten ausgeführt wird, schlägt das Skript fehl und SageMaker AI erstellt oder startet die Notebook-Instance nicht.
Verwende eine der folgenden Methoden, um das Problem zu lösen.
Den Befehl nohup ausführen
Für eine vorübergehende Lösung führe den Befehl nohup aus, um zu erzwingen, dass das Lebenszykluskonfigurationsskript weiterhin im Hintergrund ausgeführt wird, bis du die Pakete installierst.
Führe den folgenden Befehl mit nohup am Anfang und einem Und-Zeichen (&) am Ende aus:
#!/bin/bash set -e nohup pip install xgboost &
Nachdem du die Bibliotheken installierst, wird das Skript nicht mehr ausgeführt. SageMaker AI benachrichtigt dich nicht, wenn dies passiert, aber du kannst den Befehl ps ausführst, um den Status des Skripts zu überprüfen.
Hinweis: Du kannst den Befehl nohup auch für andere Skript-Timeout-Szenarien ausführen, z. B. wenn du große Amazon Simple Storage Service (Amazon S3)-Objekte herunterlädst.
Eine benutzerdefinierte persistente Conda-Installation auf dem Volume der Notebook-Instance erstellen
-
Führe im Terminal einer vorhandenen Notebook-Instance den folgenden Befehl im bevorzugten Editor aus, um eine.sh-Datei zu erstellen:
vim custom-script.sh -
Füge den Inhalt des On-Create-Skripts zur .sh-Datei hinzu. Um das Skript zu kopieren, siehe amazon-sagemaker-notebook-instance-lifecycle-config-samples auf der GitHub-Website. Das Skript erstellt eine neue Conda-Umgebung in einer benutzerdefinierten Conda-Installation. Das Skript installiert auch NumPy und Boto3 in der neuen Conda-Umgebung.
Hinweis: Die Notebook-Instance muss über eine Internetverbindung verfügen, um das Miniconda-Installationsprogramm und den Ipykernel herunterzuladen. -
Führe den folgenden Befehl aus, um das Skript als ausführbar zu markieren und das Skript auszuführen:
chmod +x custom-script.sh ./custom-script.sh -
Beende nach Abschluss der Installation die Notebook-Instance.
-
Füge das On-Start-Skript zur .sh-Datei hinzu. Um das Skript zu kopieren, siehe amazon-sagemaker-notebook-instance-lifecycle-config-samples auf der GitHub-Website.
-
Füge auf der beendeten Notebook-Instance das On-Start-Skript als Lebenszykluskonfiguration hinzu. Jedes Mal, wenn du die Notebook-Instance startest, stellt das Skript die benutzerdefinierte Umgebung als Kernel in Jupyter zur Verfügung.
-
Starte die Notebook-Instance und installiere dann die benutzerdefinierten Bibliotheken in der benutzerdefinierten Umgebung.
Um beispielsweise pyarrow zu installieren, führe den folgenden Befehl aus:import sys !conda install --yes --prefix {sys.prefix} -c conda-forge pyarrow
Wenn du die Notebook-Instance beendest und dann startest, sind die benutzerdefinierte Conda-Umgebung und Bibliotheken weiterhin verfügbar. Du musst sie nicht erneut installieren.
Wenn du eine Fehlermeldung erhältst, die besagt, dass du Conda aktualisieren musst, führe die folgenden Befehle aus:
!conda install -p "/home/ec2-user/anaconda3" "conda>=4.8" --yes !conda install -p "/home/ec2-user/SageMaker/custom-miniconda/miniconda" "conda>=4.8" --yes
Installiere nach Abschluss der Conda-Installation die Bibliotheken.
Ein Neptune-Notebook erstellen und dessen Richtlinien und Verbindungen konfigurieren
Wenn du ein Notebook in Amazon Neptune erstellst, verwendet Neptune eine Standard-Lebenszykluskonfiguration, die auf ein S3-Objekt verweist, z. B. aws s3 cp s3://aws-neptune-notebook/graph_notebook.tar.gz /tmp/graph_notebook.tar.gz. Die Neptune AWS Identity and Access Management (IAM)-Rolle muss über eine Berechtigungsrichtlinie verfügen, die die Aktionen s3:getObject und s3:ListBucket für die Ressourcen arn:aws:s3:::aws-neptune-notebook und arn:aws:s3:::aws-neptune-notebook/ gewährt.
Die Neptune IAM-Rolle muss außerdem über eine Vertrauensrichtlinie verfügen, die SageMaker AI die AssumeRole-Aktion gewährt. Du hast beispielsweise die IAM-Datenbankauthentifizierung auf dem DB-Cluster aktiviert, den du dem Notebook zugeordnet hast. Die IAM-Rolle muss über eine Berechtigungsrichtlinie verfügen, die die Aktion neptune-db: für den zugehörigen DB-Cluster gewährt.
Wenn du eine Virtual Private Cloud (VPC) verwendest, um das Neptune-Notebook mit dem Internet zu verbinden, musst du ein NAT-Gateway an die VPC anschließen. Außerdem musst du die Sicherheitsgruppen so konfigurieren, dass sie den Internetzugriff auf Amazon S3 und den Python Package Index (PyPI) ermöglichen. Weitere Informationen zu PyPI findest du auf der Python-Paketindex-Website.
Hinweis: Verwende Amazon CloudWatch Logs, um Probleme mit Lebenszyklus-Konfigurationsskripten zu beheben. Du kannst die Protokolle an den folgenden Orten finden:
- Protokollgruppe: /aws/SageMaker/NotebookInstances
- Protokollstream: example_notebook_instance_name/LifecycleConfigOnStart
Ähnliche Informationen
- Tags
- Amazon SageMaker
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 8 Monaten