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

Apache Airflow UI中DAG频繁消失问题求助(GKE+Helm部署)

排查Airflow DAG短暂显示后消失的问题

1. 检查DAG解析日志

进入GKE上的Airflow scheduler pod,实时查看日志定位解析报错:

kubectl logs -n <你的Airflow命名空间> <scheduler-pod名称> -f

重点关注DAG解析相关的错误,比如隐性依赖缺失、dag_id重复、DAG对象未正确实例化等问题。

2. 验证DAG文件夹挂载与权限

  • 进入scheduler pod检查DAG文件是否存在且权限合规:
kubectl exec -n <你的Airflow命名空间> <scheduler-pod名称> -- ls -l /opt/airflow/dags

确保文件所属用户/组与Airflow进程一致(通常为airflow:airflow)。

  • 核对Helm values中的DAG挂载配置,确认dags.persistence.enabled设置正确,存储卷路径映射无偏差。

3. 检查Airflow核心配置

  • 确认core.dag_dir_list_interval(默认300秒)未被异常修改,避免DAG被频繁刷新移除。
  • 检查core.dag_file_processor_timeout设置,若DAG解析超时会被标记为失败并从UI中移除。

4. 排查数据库状态

Helm部署的Airflow通常使用外部数据库(如PostgreSQL),需确认数据库连接与DAG记录状态:

  • 验证数据库连接:
kubectl exec -n <你的Airflow命名空间> <scheduler-pod名称> -- airflow db check
  • 查询目标DAG在数据库中的状态:
kubectl exec -n <你的Airflow命名空间> <postgres-pod名称> -- psql -U <Airflow数据库用户> -d <Airflow数据库名> -c "select dag_id, is_active from dag where dag_id='<你的DAG ID>';"

若记录存在但is_active为false,手动更新激活:

update dag set is_active=true where dag_id='<你的DAG ID>';

5. 确认Scheduler运行状态

检查scheduler pod是否稳定,无频繁重启:

kubectl get pods -n <你的Airflow命名空间> | grep scheduler

若存在重启,排查资源不足、配置错误等触发原因。

6. 复查DAG代码细节

即使无语法错误,也需确认:

  • start_date设置为过去的时间,且未设置已过期的end_date(过期DAG会被标记为不活跃)。
  • DAG对象被正确实例化并导出,例如:
from airflow import DAG
from datetime import datetime

with DAG(
    dag_id='my_sample_dag',
    start_date=datetime(2024, 1, 1),
    schedule_interval='@daily'
) as dag:
    # 任务定义

确保dag变量未被覆盖或未正确暴露。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 22:45:00