You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Airflow2.3.1 CeleryExecutor任务失败无日志问题解决

Airflow Celery Executor 随机任务失败无日志问题解决方案

适用故障场景

匹配以下部署环境的故障可直接参考本方案排查:

  • Airflow 版本为2.3.1
  • 基于Ubuntu主机通过Docker Compose部署,Worker、Webserver、Scheduler、Triggerer各组件分别运行在独立容器中
  • 采用Celery Executor作为任务执行器
  • 服务整体托管在AWS EC2实例上

故障典型特征

出现该问题时会有非常明确的统一表现:

  • 运行包含多个任务的DAG时,系统会随机把部分任务标记为失败状态,没有固定复现的失败任务节点
  • Airflow UI界面无法加载这些失败任务的日志,点进日志页直接为空或提示日志不存在
  • 登录正在运行的Worker容器排查,对应失败任务的日志文件根本没有生成
  • 打开Celery Flower监控面板查看失败任务详情,只能拿到固定的通用报错,没有任何业务代码层面的错误栈:
airflow.exceptions.AirflowException: Celery command failed on host

排查结论与修复步骤

这个问题很容易被误判为DAG逻辑错误、日志挂载配置错误,实际根因是EC2实例CPU等计算资源不足:任务高峰时CPU资源被完全占满,Celery Worker进程被系统强制终止,根本来不及执行日志写入逻辑,就会出现上述所有表现。
修复操作按优先级执行即可:

  1. 先核查EC2实例的监控数据,确认任务运行高峰期是否存在CPU使用率持续100%、系统负载值远超实例vCPU核数的情况,确认资源瓶颈后优先给EC2实例扩容vCPU、内存资源,匹配任务峰值的计算需求
  2. 资源扩容完成后,精细化调整Airflow Celery Worker的运行参数:根据实例vCPU核数合理设置celery.worker_concurrency并发值,不要盲目把并发数设置为远高于CPU核数的数值,避免多Worker进程过度争抢CPU资源再次触发异常
  3. 重启Airflow Celery Worker组件后重新触发DAG运行,随机任务失败、无日志的问题即可完全解决。

内容的提问来源于stack exchange,提问作者GabrielBoehme

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 00:12:21