使用conda en的apacheairflow系统文件

2024-04-19 08:53:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用systemd在ubuntu16.04文件上运行apache-airflow。我大致遵循了this tutorial并安装/设置了以下内容:

  • Miniconda 2,64位
  • 已安装gcc(sudo apt-get install gcc
  • Conda环境,使用教程的yml文件

在以下条件下:

  • export flow_HOME=“/HOME/ubuntu/flow”

当我测试气流时,一切正常:

airflow webserver --port 8080

但每当我尝试使用systemd文件启动气流时,它都失败了。据我所知,systemd文件使用conda环境。我的systemd文件如下所示:

^{pr2}$

当我启动/启用systemd守护程序时,status返回以下错误:

airflow-webserver.service - Airflow webserver daemon
   Loaded: loaded (/etc/systemd/system/airflow-webserver.service; enabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: exit-code) since Thu 2018-09-13 08:59:00 UTC; 1s ago
  Process: 18410 ExecStart=/home/ubuntu/miniconda2/envs/airflow-tutorial/bin/airflow webserver --port 8080 (code=exited, status=1/FAILURE)
 Main PID: 18410 (code=exited, status=1/FAILURE)

Sep 13 08:59:00 ip-172-31-46-255 systemd[1]: airflow-webserver.service: Main process exited, code=exited, status=1/FAILURE
Sep 13 08:59:00 ip-172-31-46-255 systemd[1]: airflow-webserver.service: Unit entered failed state.
Sep 13 08:59:00 ip-172-31-46-255 systemd[1]: airflow-webserver.service: Failed with result 'exit-code'.

非常感谢您的帮助!在


Tags: 文件ipfailure环境statusservicecodeflow
2条回答

一个完全不同但更简单的解决方案对我有效:

  1. 添加具有sudo权限的新sudo用户,例如airflow
  2. airflow用户的身份在环境中安装apache-airflow
  3. 使用以下命令运行气流守护程序:airflow webserver port 8080 -D

这将以后台进程的形式运行flow。您只需切换回其他用户并继续创建dag,等等

以下是airflow-webserver.service,它适用于虚拟环境:

[Unit]
Description=Airflow webserver daemon
After=network.target postgresql.service mysql.service redis.service rabbitmq-server.service
Wants=postgresql.service mysql.service redis.service rabbitmq-server.service

[Service]
PIDFile=/run/airflow/webserver.pid
EnvironmentFile=/etc/default/airflow
User=airflow
Group=airflow
Type=simple
ExecStart=/usr/bin/bash -c 'source /usr/local/airflow/venv/bin/activate ; airflow webserver  pid /run/airflow/webserver.pid'
Restart=on-failure
RestartSec=5s
PrivateTmp=true

[Install]
WantedBy=multi-user.target

相关问题 更多 >