Warum wird ein Amazon-EMR-Schritt ausgeführt, obwohl meine Bewerbung auf dem YARN abgeschlossen ist?

Lesedauer: 3 Minute
0

Ein Amazon-EMR-Schritt befindet sich immer noch im Status WIRD AUSGEFÜHRT, obwohl die entsprechende Apache-Spark- oder YARN-Anwendung abgeschlossen wurde.

Lösung

Verwenden Sie eine der folgenden Methoden, um das Problem zu beheben:

  • Überprüfen Sie den Status der jeweiligen YARN-Anwendung und beenden Sie dann den Schritt.
  • Stornieren Sie die Step-ID manuell über die AWS Command Line Interface (AWS CLI).

Status der YARN-Anwendung überprüfen und dann den Schritt beenden

1.    Identifizieren Sie die YARD-Anwendungs-ID aus der stderr-Datei der Schrittprotokolle. Weitere Informationen finden Sie unter Wie behebe ich einen fehlgeschlagenen Schritt in Amazon EMR?

2.    Stellen Sie mithilfe von SSH eine Verbindung zum Primärknoten her.

3.    Verwenden Sie den folgenden YARN-Befehl, um den Status der YARN-Anwendung zu ermitteln. Ersetzen Sie im folgenden Beispielbefehl application_id durch Ihre Anwendungs-ID. Eine Beispielanwendungs-ID lautet application_1234567891011_001.

yarn application -status application_id

Oder verwenden Sie den folgenden YARN-Befehl, um alle Anwendungen aufzulisten:

yarn application -list -appStates ALL

4.    Überprüfen Sie die Ausgabe des vorherigen Befehls auf den Status der Anwendung.

Application-States: [NEW, NEW_SAVING, SUBMITTED, ACCEPTED, RUNNING, FINISHED, FAILED, KILLED]

Im Folgenden finden Sie ein Beispiel für die Ausgabe einer Anwendung, die erfolgreich abgeschlossen wurde:

Progress : 100%
State : FINISHED
Final-State : SUCCEEDED

Wenn die Ausgaben des vorherigen Befehls die Zustände FINISHED, FAILED oder KILLED hat, ist die YARN-Anwendung abgeschlossen.

Wenn der Anwendungsstatus NEW, NEW_SAVING, SUBMITTED, ACCEPTED oder RUNNING ist, wird die YARN-Anwendung immer noch ausgeführt. Warten Sie, bis die Anwendung abgeschlossen ist, oder beenden Sie die Anwendung, um den Schritt abzubrechen.

7.    Führen Sie den folgenden Befehl aus, um die Anwendung zu beenden. Ersetzen Sie im folgenden Beispielbefehl application_id durch Ihre Anwendungs-ID. Eine Beispielanwendungs-ID lautet application_1234567891011_001.

yarn application -kill application_id

8.    Überprüfen Sie den Status des Amazon-EMR-Schritts erneut, nachdem Sie die Anwendung beendet haben.

Amazon-EMR-Schritt manuell über die AWS CLI stornieren

Hinweis: Wenn beim Ausführen von AWS-CLI-Befehlen Fehler gemeldet werden, stellen Sie sicher, dass Sie die neueste Version der AWS CLI verwenden.

1.    Verwenden Sie den Befehl describe-step, um den Status des Schritts anzuzeigen. Ersetzen Sie im folgenden Befehl cluster-id und die step-id durch die richtigen Werte für Ihren Anwendungsfall.

aws emr describe-step --cluster-id j-xxxxxxxxxxxxx --step-ids s-xxxxxxxx

2.    Verwenden Sie den Befehl cancel-steps, um den Schritt abzubrechen. Ersetzen Sie im folgenden Befehl cluster-id und die step-id durch die richtigen Werte für Ihren Anwendungsfall.

aws emr cancel-steps --cluster-id j-xxxxxxxxxxxxx \
--step-ids s-3M8DXXXXXXXXX \
--step-cancellation-option SEND_INTERRUPT

Weitere Informationen finden Sie unter Schritte zum Stornieren.


AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr