Airflow WebUI无法启动及终端/AWS获取DAG信息与代码咨询
Airflow问题解决:WebUI无法打开+DAG信息/代码获取
一、WebUI无法打开问题修复
1. 处理Webserver已运行报错
报错提示:airflow.exceptions.AirflowException: The webserver is already running under PID 2621372.
执行以下步骤:
- 验证进程状态:运行
ps aux | grep 2621372,确认进程是否存活 - 终止进程:若进程存在,执行
kill 2621372;若无法正常终止,使用强制终止命令kill -9 2621372 - 清理PID文件(可选):若重启仍报错,删除Airflow的webserver PID文件(默认路径为
$AIRFLOW_HOME/airflow-webserver.pid) - 重新启动webserver:
airflow webserver -p 8080
2. 解决SQLAlchemy版本兼容警告
警告提示检测到与SQLAlchemy 2.0不兼容的废弃API,修复方案:
- 固定依赖版本:在项目的
requirements.txt中添加sqlalchemy<2.0,然后执行pip install -r requirements.txt重新安装依赖 - 临时屏蔽警告:设置环境变量
export SQLALCHEMY_SILENCE_UBER_WARNING=1(仅临时方案,建议优先固定版本)
二、获取所有DAG的信息与代码
1. 终端方式获取DAG信息
- 查看所有DAG列表:
airflow dags list - 查看单个DAG详细结构:
airflow dags show <DAG_ID>(替换<DAG_ID>为实际DAG标识) - 查看DAG对应的文件路径:
airflow dags list -f(输出包含每个DAG的代码文件路径) - 导出DAG信息到JSON文件:
airflow dags list --output json > all_dags.json
2. 终端方式获取DAG代码
- 根据
airflow dags list -f输出的路径,直接查看文件内容:cat <DAG_FILE_PATH> - 若DAG文件集中在默认目录(
$AIRFLOW_HOME/dags),可遍历目录查看:ls $AIRFLOW_HOME/dags,按需查看对应文件
3. AWS环境下获取DAG信息与代码
(1)AWS Managed Airflow (MWAA)
- 控制台查看:进入MWAA控制台,选择目标环境,在DAGs标签页查看所有DAG的状态与基本信息
- CLI获取DAG列表:
aws mwaa list-dags --name <MWAA_ENV_NAME>(替换<MWAA_ENV_NAME>为你的MWAA环境名称) - 获取DAG代码:MWAA的DAG代码存储在配置指定的S3桶中,可通过AWS控制台进入对应S3桶下载文件;或使用CLI命令:
aws s3 cp s3://<S3_DAGS_PATH>/<DAG_FILE> ./ - 执行Airflow命令:通过
aws mwaa create-cli-token --name <MWAA_ENV_NAME>获取临时令牌,调用MWAA API执行Airflow命令(如dags list)
(2)EC2/ECS自行部署的Airflow
- EC2部署:直接登录EC2实例,按照终端方式操作
- ECS部署:进入任务的容器终端执行Airflow命令;若DAG代码存储在EFS/S3,直接从对应存储服务获取文件
内容的提问来源于stack exchange,提问作者Ved Prakash Shukla
相关产品推荐
相关产品推荐

