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

Airflow v2.2.5(MWAA v2.0.2)DAG任务仅排队未执行求助

排查Airflow任务实例状态异常(dagrun queued/任务状态None)的方向

1. 检查Executor配置与资源

  • 确认Airflow使用的Executor类型(如CeleryExecutor、LocalExecutor),对应组件运行状态:
    • 若为CeleryExecutor:用docker ps查看worker容器状态,执行docker exec <worker-container-id> celery inspect ping验证worker连通性
    • 若为LocalExecutor:检查调度器容器的CPU、内存资源是否充足,查看容器日志docker logs <scheduler-container-id>是否有进程被OOM Killer终止的记录
  • 验证队列配置:通过Airflow UI的Admin > Queues确认任务指定的队列存在,且有对应worker监听该队列

2. 验证元数据库连接与状态

  • 检查元数据库(如PostgreSQL/MySQL)容器健康状态:docker ps查看容器状态,执行对应数据库命令(如docker exec <db-container-id> psql -U airflow)验证连接
  • 查询元数据库中异常记录:
    -- 查看处于queued状态的dagrun详情
    SELECT dag_id, run_id, state, queued_at FROM dag_run WHERE state = 'queued';
    -- 关联查看对应任务实例
    SELECT task_id, state, dag_run_id FROM task_instance WHERE dag_run_id IN (SELECT run_id FROM dag_run WHERE state = 'queued');
    
    排查是否存在数据异常或锁表情况

3. 分析调度器详细日志

  • 过滤调度器日志中的关键信息:
    docker logs <scheduler-container-id> | grep -E "queued|task_instance|dag_run"
    
    查找任务调度失败、队列处理异常的报错,比如权限问题、依赖缺失等线索

4. 确认任务依赖与文件权限

  • 检查任务依赖:进入worker容器执行pip list,验证自定义Operator或任务所需的依赖包是否已安装
  • 检查DAG文件权限:执行docker exec <scheduler-container-id> ls -l <dags-folder>,确认调度器有读取DAG文件的权限

5. 排查Docker网络配置

  • 确认Airflow各组件(webserver、scheduler、worker、db)在同一Docker网络:docker network inspect <airflow-network>查看容器网络归属
  • 若使用CeleryExecutor,验证Redis/RabbitMQ(消息队列)与worker、scheduler的连接正常,端口无防火墙拦截

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 09:01:18