Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Cette page explique comment résoudre les problèmes liés aux tâches exécutées par KubernetesExecutor et fournit des solutions aux problèmes courants.
Approche générale du dépannage de KubernetesExecutor
Pour résoudre les problèmes liés à une tâche exécutée avec KubernetesExecutor, effectuez les actions suivantes dans l'ordre indiqué:
Vérifiez les journaux de la tâche dans l'interface utilisateur du DAG ou l'interface utilisateur Airflow.
Consultez les journaux du programmeur dans la console Google Cloud:
Dans la console Google Cloud, accédez à la page Environnements.
Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.
Accédez à l'onglet Journaux et consultez la section Journaux Airflow > Scheduler.
Pour une période donnée, inspectez le pod de nœuds de calcul de KubernetesExecutor qui exécutait la tâche. Si le pod n'existe plus, ignorez cette étape. Le nom du pod inclut le préfixe
airflow-k8s-worker
, ainsi qu'un nom de DAG ou un nom de tâche. Recherchez tous les problèmes signalés, tels qu'une tâche ayant échoué ou une tâche non programmable.
Scénarios de dépannage courants pour KubernetesExecutor
Cette section répertorie les scénarios de dépannage courants que vous pouvez rencontrer avec KubernetesExecutor.
La tâche passe à l'état Running
, puis échoue lors de l'exécution.
Symptômes :
- Des journaux pour cette tâche sont disponibles dans l'interface utilisateur d'Airflow et dans l'onglet Journaux de la section Nœuds de calcul.
Solution: les journaux des tâches indiquent le problème.
L'instance de tâche passe à l'état queued
, puis est marquée comme UP_FOR_RETRY
ou FAILED
au bout d'un certain temps.
Symptômes :
- Il n'existe aucun journal pour la tâche dans l'interface utilisateur d'Airflow et dans l'onglet Journaux de la section Nœuds de calcul.
- L'onglet Journaux de la section Scheduler contient des journaux avec un message indiquant que la tâche est marquée comme
UP_FOR_RETRY
ouFAILED
. - Le pod
airflow-k8s-worker-*.*
, dont le nom de DAG/tâche figure dans le nom du pod, présente l'étatFailed
/Pending
, ou est absent.
Solution :
- Examinez les journaux du programmeur pour en savoir plus sur le problème.
Causes possibles :
Si les journaux du programmeur contiennent le message
Adopted tasks were still pending after...
suivi de l'instance de tâche imprimée, vérifiez que CeleryKubernetesExecutor est activé dans votre environnement.
L'instance de tâche passe à l'état Queued
et est immédiatement marquée comme UP_FOR_RETRY
ou FAILED
Symptômes :
- Il n'existe aucun journal pour cette tâche dans l'interface utilisateur d'Airflow ni dans l'onglet Journaux de la section Nœuds de calcul.
- Les journaux du planificateur de l'onglet Journaux de la section Scheduler contiennent le message
Pod creation failed with reason ... Failing task
et le message indiquant que la tâche est marquée commeUP_FOR_RETRY
ouFAILED
.
Solution :
- Consultez les journaux du programmeur pour connaître la réponse exacte et le motif de l'échec.
Motif possible:
Si le message d'erreur est quantities must match the regular expression ...
, le problème est très probablement causé par une valeur personnalisée définie pour les ressources k8s (requêtes/limites) des pods de nœuds de calcul des tâches.
Étapes suivantes
- Utiliser CeleryKubernetesExecutor
- Résoudre les problèmes liés à la planification
- Découvrez comment résoudre les problèmes liés aux DAG.