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ührten Aufgaben beheben. Außerdem finden Sie Lösungen für häufige Probleme.

Allgemeiner Ansatz zur Fehlerbehebung bei KubernetesExecutor

Führen Sie die folgenden Schritte in der angegebenen 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 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, in 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 einen DAG- oder Aufgabennamen. Suchen Sie nach gemeldeten Problemen, z. B. einer fehlgeschlagenen Aufgabe oder einer nicht planbaren Aufgabe.

Häufige Fehlerbehebungsszenarien für KubernetesExecutor

In diesem Abschnitt werden häufige Szenarien zur Fehlerbehebung 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:

  • Logs für die Aufgabe finden Sie in der Airflow-Benutzeroberfläche und auf dem Tab Logs im Bereich Worker.

Lösung: Das Problem wird in den Aufgabenprotokollen angezeigt.

Die Aufgabeninstanz erreicht 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.
  • Der airflow-k8s-worker-*.*-Pod mit dem Namen des DAG/Auftrags im Pod-Namen hat den Status Failed/Pending oder ist nicht vorhanden.

Lösung:

  1. Prüfen Sie die Scheduler-Protokolle auf Details zum Problem.

Mögliche Ursachen:

  • Wenn die Scheduler-Protokolle die Meldung Adopted tasks were still pending after... gefolgt von der ausgedruckten Aufgabeninstanz 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 markiert

Symptome:

  • Für die Aufgabe sind in der Airflow-UI und auf dem Tab Logs in im Abschnitt Worker.
  • Die Logs der Aufgabenplanung auf dem Tab Protokolle im Bereich Planung enthalten die Nachricht Pod creation failed with reason ... Failing task und die Nachricht, dass die Aufgabe als UP_FOR_RETRY oder FAILED gekennzeichnet ist.

Lösung:

  • Prüfen Sie die Scheduler-Logs 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 Task-Worker-Pods festgelegt wurden.

Nächste Schritte