Fehlerbehebung bei KubernetesExecutor-Aufgaben

Cloud Composer 1 Cloud Composer 2

Auf dieser Seite wird beschrieben, wie Sie Probleme mit von KubernetesExecutor ausgeführten Aufgaben beheben und Lösungen für häufige Probleme finden.

Allgemeiner Ansatz zur Fehlerbehebung in KubernetesExecutor

Führen Sie die folgenden Aktionen in der aufgeführten Reihenfolge aus, um Probleme mit einer Aufgabe zu beheben, die mit KubernetesExecutor ausgeführt wird:

  1. Prüfen Sie die Logs der Aufgabe in der DAG-UI oder der Airflow-UI.

  2. Prüfen Sie die Planerlogs in der Google Cloud Console:

    1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

      Zur Seite Umgebungen“

    2. Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.

    3. Wechseln Sie zum Tab Logs und prüfen Sie den Abschnitt Airflow-Logs > Planer.

    4. Prüfen Sie für einen bestimmten Zeitraum den Worker-Pod von KubernetesExecutor, auf dem die Aufgabe ausgeführt wurde. Wenn der Pod nicht mehr vorhanden ist, überspringen Sie diesen Schritt. Der Pod hat das Präfix airflow-k8s-worker und im Namen einen DAG oder einen Aufgabennamen. Suchen Sie nach gemeldeten Problemen, z. B. einer fehlgeschlagenen Aufgabe oder einer Aufgabe, die nicht planbar ist.

Häufige Szenarien zur Fehlerbehebung für KubernetesExecutor

In diesem Abschnitt werden häufige Problemszenarien aufgeführt, die mit KubernetesExecutor auftreten können.

Die Aufgabe wechselt in den Status Running und schlägt dann während der Ausführung fehl.

Symptome:

  • Die Logs für die Aufgabe befinden sich in der Airflow-UI und auf dem Tab Logs im Abschnitt Worker.

Lösung: Die Aufgabenprotokolle weisen auf das Problem hin.

Die Aufgabeninstanz erhält den Status queued und wird nach einiger Zeit als UP_FOR_RETRY oder FAILED markiert.

Symptome:

  • In der Airflow-UI und auf dem Tab Logs im Abschnitt Worker sind keine Logs für die Aufgabe vorhanden.
  • Auf dem Tab Logs im Abschnitt Scheduler befinden sich Logs mit der Meldung, dass die Aufgabe als UP_FOR_RETRY oder FAILED markiert ist.
  • Der Pod airflow-k8s-worker-*.* mit dem Namen DAG/Aufgabe im Namen des Pods hat den Status Failed/Pending oder fehlt.

Lösung:

  1. Prüfen Sie die Planerlogs auf Details zum Problem.

Mögliche Ursachen:

  • Wenn die Planerlogs die Meldung Adopted tasks were still pending after... gefolgt von der Instanz der gedruckten Aufgabe enthalten, prüfen Sie, ob CeleryKubernetesExecutor in Ihrer Umgebung aktiviert ist.

Die Aufgabeninstanz wechselt in den Status Queued und wird sofort als UP_FOR_RETRY oder FAILED gekennzeichnet

Symptome:

  • Für die Aufgabe sind in der Airflow-UI und auf dem Tab Logs im Abschnitt Worker keine Logs vorhanden.
  • Die Planerlogs auf dem Tab Logs im Abschnitt Scheduler enthalten die Meldung Pod creation failed with reason ... Failing task und die Meldung, dass die Aufgabe als UP_FOR_RETRY oder FAILED markiert ist.

Lösung:

  • Prüfen Sie die Planerlogs auf die genaue Antwort und den Grund für den Fehler.

Mögliche Ursache:

Wenn die Fehlermeldung quantities must match the regular expression ... lautet, wird das Problem höchstwahrscheinlich durch benutzerdefinierte Werte verursacht, die für k8s-Ressourcen (Anfragen/Limits) von Aufgaben-Worker-Pods festgelegt wurden.

Nächste Schritte