Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Auf dieser Seite wird beschrieben, wie Sie Probleme mit von KubernetesExecutor ausgeführten Aufgaben beheben und Lösungen für häufig auftretende Probleme finden.
Allgemeiner Ansatz zur Fehlerbehebung bei 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:
Prüfen Sie die Logs der Aufgabe in der DAG-UI oder der Airflow-UI.
Prüfen Sie die Planerlogs in der Google Cloud Console:
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Wechseln Sie zum Tab Logs und sehen Sie sich den Abschnitt Airflow-Logs > Scheduler an.
Prüfen Sie für einen bestimmten Zeitraum den KubernetesExecutor-Worker-Pod, der die Aufgabe ausgeführt hat. 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 wie einer fehlgeschlagenen Aufgabe oder einer nicht planbaren Aufgabe.
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:
- In der Airflow-UI und auf dem Tab Logs im Abschnitt Worker finden Sie Logs für die Aufgabe.
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 im Abschnitt Worker sind keine Logs für die Aufgabe vorhanden.
- Auf dem Tab Logs im Abschnitt Scheduler werden Logs mit der Meldung angezeigt, dass die Aufgabe als
UP_FOR_RETRY
oderFAILED
markiert ist. - Der Pod
airflow-k8s-worker-*.*
mit dem Namen DAG/Aufgabe innerhalb des Pod-Namens hat den StatusFailed
/Pending
oder er ist nicht vorhanden.
Lösung:
- Prüfen Sie die Planerlogs auf Details des Problems.
Mögliche Ursachen:
Wenn die Planerlogs die Meldung
Adopted tasks were still pending after...
gefolgt von der gedruckten 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 im Abschnitt Worker keine Logs vorhanden.
- Die Planerlogs auf dem Tab Logs im Abschnitt Scheduler enthalten die Nachricht
Pod creation failed with reason ... Failing task
und die Meldung, dass die Aufgabe alsUP_FOR_RETRY
oderFAILED
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 verursacht, die für k8s-Ressourcen (Anfragen/Limits) von Aufgaben-Worker-Pods festgelegt wurden.