作为服务自动启动 Airflow Webserver

Start Airflow Webserver Automaticalll as a Service

我目前想编写一个系统配置文件来启动 airflow 网络服务器。这是我的配置文件定义:

#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]
#EnvironmentFile=/etc/default/airflow
Environment="PATH=/root/airflow_venv/bin"
User=airflow
Group=airflow
Type=simple
ExecStart=/root/airflow_venv/bin/airflow webserver -p 8080 --pid /root/airflow/airflow-webserver.pid
Restart=on-failure
RestartSec=5s
PrivateTmp=true

[Install]
WantedBy=multi-user.target

但是运行 "sudo service airflow-webserver status" return:

● airflow-webserver.service - Airflow webserver daemon
   Loaded: loaded (/etc/systemd/system/airflow-webserver.service; enabled; vendor preset: disabled)
   Active: activating (auto-restart) (Result: exit-code) since Mon 2021-01-25 06:58:14 UTC; 3s ago
  Process: 5913 ExecStart=/root/airflow_venv/bin/airflow webserver -p 8080 --pid /root/airflow/airflow-webserver.pid (code=exited, status=217/USER)
 Main PID: 5913 (code=exited, status=217/USER)
   CGroup: /system.slice/airflow-webserver.service

我已经看过 ,因为这听起来像是一个类似的问题。但是,我在那里找不到解决方案。我正在操作的 OS 是 Amazon Linux 2 AMI。

有人可以帮忙吗?

拉兹鲁

对于遇到相同错误的任何人:

Main PID: 5913 (code=exited, status=217/USER)

这表明用户有误。调整用户和组后,此服务对我有用。