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

Apache Airflow未读取配置DAG目录,仅显示示例DAG求助

Apache Airflow自定义DAG不加载问题排查与解决

可能原因及对应解决方法

1. DAG文件本身存在语法或定义错误

  • 直接执行DAG文件验证有效性:
    python /home/ubuntu/airflow/dags/your_dag_file.py
    
    查看终端输出,排查语法错误、依赖包缺失或导入失败等问题。
  • 确认文件中存在正确实例化的DAG对象:确保代码中有dag = DAG(...)的定义,且该变量未被覆盖、未被隐藏在函数内部未导出。

2. 自定义DAG目录/文件权限不足

  • 检查目录权限:
    ls -ld /home/ubuntu/airflow/dags
    
    确保Airflow运行用户(通常是当前ubuntu用户)拥有该目录及文件的读权限。
  • 调整权限:
    chmod -R 755 /home/ubuntu/airflow/dags
    # 若需要修改所属用户(根据实际运行用户调整)
    chown -R ubuntu:ubuntu /home/ubuntu/airflow/dags
    

3. Airflow服务未重启导致配置未生效

修改airflow.cfg后,必须重启scheduler和webserver服务才能加载新配置:

# 直接重启(若未用systemd管理)
airflow scheduler restart
airflow webserver restart

# 若用systemd管理服务
sudo systemctl restart airflow-scheduler
sudo systemctl restart airflow-webserver

4. 环境变量覆盖了配置文件设置

Airflow环境变量优先级高于配置文件,检查是否存在覆盖:

echo $AIRFLOW__CORE__DAGS_FOLDER

如果输出不是/home/ubuntu/airflow/dags,说明环境变量已覆盖配置,需清除该变量或修改为目标路径。

同时确认Airflow加载的配置文件路径:

airflow config list --conf-path

确保路径指向/home/ubuntu/airflow/airflow.cfg,避免加载了其他位置的配置文件。

5. DAG文件命名不符合规范

Airflow会忽略隐藏文件(以.开头)和命名不符合规范的文件:

  • 确保文件名不以.开头
  • 文件名使用小写字母、数字和下划线,避免特殊字符和空格,例如nifi_trigger_dag.py

额外排查命令

指定自定义DAG目录列出DAG,验证目录是否被识别:

airflow dags list -S /home/ubuntu/airflow/dags

如果能列出目标DAG,说明是服务未刷新或UI缓存问题;如果仍无结果,回到前面的步骤排查文件本身或权限问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 06:05:13