Fehlerbehebung bei KubernetesExecutor-Aufgaben

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Auf dieser Seite wird beschrieben, wie Sie Probleme mit von KubernetesExecutor ausgeführte Aufgaben und bietet Lösungen für gängige Probleme.

Allgemeiner Ansatz zur Fehlerbehebung bei KubernetesExecutor

Um Probleme mit einer mit KubernetesExecutor ausgeführten Aufgabe zu beheben, führen Sie die folgenden Aktionen in der aufgeführten Reihenfolge ausführen:

  1. Prüfen Sie die Logs der Aufgabe in der DAG-UI oder 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. Rufen Sie den Tab Logs auf und sehen Sie sich die Airflow-Logs an > Planer.

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

Häufige Fehlerbehebungsszenarien für KubernetesExecutor

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

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

Symptome:

  • Es gibt Logs für die Aufgabe in der Airflow-UI und auf dem Tab Logs in der Abschnitt Worker.

Lösung: Die Aufgabenlogs zeigen das Problem an.

Die Taskinstanz 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 in der Abschnitt Worker.
  • Auf dem Tab Logs im Abschnitt Scheduler sind Logs mit einem dass die Aufgabe als UP_FOR_RETRY oder FAILED markiert ist.
  • Den Pod airflow-k8s-worker-*.* mit dem Namen eines DAG/einer Aufgabe innerhalb des Namens des Pods hat den Status Failed/Pending oder er ist nicht vorhanden.

Lösung:

  1. Prüfen Sie die Planerlogs auf Details des Problems.

Mögliche Ursachen:

  • Wenn die Planerlogs den Parameter Adopted tasks were still pending after...-Nachricht gefolgt von Instanz der gedruckten Aufgabe. 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 markiert

Symptome:

  • Für die Aufgabe sind in der Airflow-UI und auf dem Tab Logs in im Abschnitt Worker.
  • Die Planer-Logs auf dem Tab Logs im Abschnitt Scheduler (Planer) haben die Pod creation failed with reason ... Failing task-Nachricht und die dass die Aufgabe als UP_FOR_RETRY oder FAILED markiert ist.

Lösung:

  • Suchen Sie in den Planerlogs nach der genauen Antwort- und Fehlerursache.

Mögliche Ursache:

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

Nächste Schritte