Warum kann mein Amazon EMR-Cluster nicht gestartet werden und gibt die Fehlermeldung „Die Bootstrap-Aktion hat einen Rückgabecode ungleich Null zurückgegeben“ zurück?

Lesedauer: 2 Minute
0

Ich habe eine benutzerdefinierte Bootstrap-Aktion für meinen Amazon EMR-Cluster erstellt. Der Cluster kann nicht gestartet werden, und die Bootstrap-Aktion gibt einen Fehler zurück, der dem folgenden ähnelt: „Bootstrap-Aktion 1 hat einen Rückgabecode ungleich Null zurückgegeben“.

Kurzbeschreibung

Bootstrap-Aktionen werden ausgeführt, nachdem Amazon EMR die Amazon Elastic Compute Cloud (Amazon EC2)-Instances im Cluster bereitgestellt hat. Wenn eine Bootstrap-Aktion fehlschlägt, beendet Amazon EMR die Instance. Weitere Informationen finden Sie unter Den Cluster-Lebenszyklus verstehen.

Wenn eine Bootstrap-Aktion aufgrund eines Fehlers im Bootstrap-Skript fehlschlägt, kann der Cluster nicht gestartet werden. Weitere Informationen finden Sie unter Grundlagen der Bootstrap-Aktion.

Behebung

Um festzustellen, warum eine Bootstrap-Aktion fehlgeschlagen ist, überprüfen Sie die stderr-Logsfür Ihre Bootstrap-Aktion. Diese Protokolle befinden sich im Amazon Simple Storage Service (Amazon S3) -Pfad oder in der LogURI, die Sie zuvor bei der Erstellung des Amazon EMR-Clusters konfiguriert haben.

Beispiel: s3://example-log-location/example-cluster-id/node/example-instance-id/bootstrap-actions/

Wenn Sie nach Überprüfung der stderr-Protokolle nicht feststellen können, warum das Skript fehlgeschlagen ist, ändern Sie Ihr Skript, um zusätzliche Debug-Informationen bereitzustellen. Stellen Sie beispielsweise die **Parameter **-ex im Bash-Skript ein. Auf diese Weise können Sie den Bash-Skriptablauf in den Bootstrap-Aktionsprotokolldateien einsehen.

#!/bin/bash
set -x -e

Hinweis: Wenn es sich bei der fehlgeschlagenen Bootstrap-Aktion nicht um eine von Ihnen erstellte Bootstrap-Aktion handelt — wenn Sie beispielsweise sechs Bootstrap-Aktionen erstellt haben und die Fehlermeldung „Bootstrap-Aktion 7 ist mit einem Exit-Code ungleich Null fehlgeschlagen“ angezeigt wird), weist diese Fehlermeldung darauf hin, dass Amazon EMR keine Anwendungen installieren oder Dienste starten konnte.

Um dieses Problem zu beheben, überprüfen Sie die Amazon EMR-Bereitstellungsprotokolle. Amazon EMR verwendet Puppet, um Anwendungen in einem Cluster zu installieren und zu konfigurieren. Die Protokolle können Informationen über Fehler enthalten, die bei der Bereitstellung des Clusters verursacht wurden.

Sie können auf diese Protokolle im Cluster oder in S3 zugreifen, wenn Sie die Protokolle so konfiguriert haben, dass sie an S3 übertragen werden. Die Protokolle werden in /var/log/provision-node/apps-phase/0/example-UUID} /puppet.log auf der Festplatte und s3://example-log-location/example-cluster-id/node/example-instance-id/provision-node/apps-phase/0/{UUID}/puppet.log.gz gespeichert.


Ähnliche Informationen

Verwenden Sie benutzerdefinierte Bootstrap-Aktionen

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren