Apache Airflow服务启动路径错误,重复创建目录并初始化新库
解决Airflow Webserver未读取指定配置目录的问题
Airflow 默认通过AIRFLOW_HOME环境变量识别配置文件所在目录,若未显式设置,会默认使用用户家目录下的airflow/子目录(即/home/airflow/airflow/),这就是你遇到问题的核心原因。以下是具体解决步骤:
1. 修改systemd服务配置
在你的Airflow webserver服务配置的[Service]段中,添加AIRFLOW_HOME环境变量指定配置目录:
Description=Airflow webserver daemon After=network.target postgresql.service Wants=postgresql.service [Service] Environment="PATH=$PATH:/home/airflow/venv/bin:/home/airflow/" # 新增该行,指定Airflow配置根目录 Environment="AIRFLOW_HOME=/home/airflow/" User=airflow Group=airflow Type=simple ExecStart=/home/airflow/venv/bin/airflow webserver -p 8080 Restart=on-failure RestartSec=5s PrivateTmp=true [Install] WantedBy=multi-user.target
2. 重新加载服务配置并重启
执行以下命令使修改生效:
sudo systemctl daemon-reload sudo systemctl restart airflow-webserver.service
3. 验证配置读取正确性
切换到airflow用户,手动验证配置是否读取自指定目录:
su - airflow export AIRFLOW_HOME=/home/airflow/ # 检查配置项路径,比如dags_folder airflow config list | grep dags_folder
若输出为/home/airflow/dags(而非/home/airflow/airflow/dags),则说明配置已正确读取。
4. 确保配置文件权限正确
确认/home/airflow/airflow.cfg的权限属于airflow用户组:
sudo chown airflow:airflow /home/airflow/airflow.cfg sudo chmod 644 /home/airflow/airflow.cfg
内容的提问来源于stack exchange,提问作者Pierre Anken
相关产品推荐
相关产品推荐

