Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 带systemd的气流:`Airflow.pid`vs`Airflow-monitor.pid``_Python_Systemd_Airflow_Apache Airflow - Fatal编程技术网

Python 带systemd的气流:`Airflow.pid`vs`Airflow-monitor.pid``

Python 带systemd的气流:`Airflow.pid`vs`Airflow-monitor.pid``,python,systemd,airflow,apache-airflow,Python,Systemd,Airflow,Apache Airflow,我的systemd单位文件正在工作(如下) 但是,气流监视器.pid文件暂时变为只读,这有时会阻止气流启动。我们的解决方法是删除airflow-monitor.pid(如果发生这种情况)。此文件与afflow.pid文件不同 它看起来像是气流。pid是gunicorn和气流监视器。pid是作为气流Web服务器的python进程 系统单位文件: [Unit] Description=Airflow webserver daemon After=network.target postgresql.s

我的systemd单位文件正在工作(如下)

但是,
气流监视器.pid
文件暂时变为只读,这有时会阻止气流启动。我们的解决方法是删除airflow-monitor.pid(如果发生这种情况)。此文件与afflow.pid文件不同

它看起来像是气流。pid是gunicorn和气流监视器。pid是作为气流Web服务器的python进程

系统单位文件:

[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]
# by default we just set $AIRFLOW_HOME to its default dir: $HOME/airflow , so lets skip this for now
EnvironmentFile=/home/airflow/airflow/airflow.systemd.environment

#WorkingDirectory=/home/airflow/airflow-venv
#Environment=PATH="/home/airflow/airflow-venv/bin:$PATH"
PIDFile=/home/airflow/airflow/airflow.pid
User=airflow
Group=airflow
Type=simple
# this was originally the file webserver.pid but did not run
#ExecStart=/bin/bash -c 'source /home/airflow/airflow-venv/bin/activate ; /home/airflow/airflow-venv/bin/airflow webserver -p 8080 --pid /home/airflow/airflow/airflow.pid --daemon'
#ExecStart=/home/airflow/airflow-venv/bin/airflow webserver -p 8080 --pid /home/airflow/airflow/airflow.pid --daemon
ExecStart=/usr/local/bin/airflow webserver -p 8080 --pid /home/airflow/airflow/airflow.pid --daemon
Restart=on-failure
RestartSec=5s
PrivateTmp=true

[Install]
WantedBy=multi-user.target
airflow@airflow:~$ cat airflow/airflow.pid 
8397 
airflow@airflow:~$ cat     airflow/airflow-monitor.pid 
8377 
airflow@airflow:~$ ps faux | grep 8377 
airflow 26004 0.0 0.0 14224 976 pts/0 S+ 18:05 0:00 | \_ grep --color=auto 8377 airflow 8377 0.4 1.0 399676 83804 ? Ss Aug23 6:14 /usr/bin/python /usr/local/bin/airflow webserver -p 8080 --pid /home/airflow/airflow/airflow.pid --daemon 
airflow@airflow:~$ ps faux | grep 8397 
airflow 26028 0.0 0.0 14224 940 pts/0 R+ 18:05 0:00 | \_ grep --color=auto 8397 airflow 8397 0.0 0.6 186652 55496 ? S Aug23 0:32 gunicorn: master [airflow-webserver]
以下是pid文件的输出:

[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]
# by default we just set $AIRFLOW_HOME to its default dir: $HOME/airflow , so lets skip this for now
EnvironmentFile=/home/airflow/airflow/airflow.systemd.environment

#WorkingDirectory=/home/airflow/airflow-venv
#Environment=PATH="/home/airflow/airflow-venv/bin:$PATH"
PIDFile=/home/airflow/airflow/airflow.pid
User=airflow
Group=airflow
Type=simple
# this was originally the file webserver.pid but did not run
#ExecStart=/bin/bash -c 'source /home/airflow/airflow-venv/bin/activate ; /home/airflow/airflow-venv/bin/airflow webserver -p 8080 --pid /home/airflow/airflow/airflow.pid --daemon'
#ExecStart=/home/airflow/airflow-venv/bin/airflow webserver -p 8080 --pid /home/airflow/airflow/airflow.pid --daemon
ExecStart=/usr/local/bin/airflow webserver -p 8080 --pid /home/airflow/airflow/airflow.pid --daemon
Restart=on-failure
RestartSec=5s
PrivateTmp=true

[Install]
WantedBy=multi-user.target
airflow@airflow:~$ cat airflow/airflow.pid 
8397 
airflow@airflow:~$ cat     airflow/airflow-monitor.pid 
8377 
airflow@airflow:~$ ps faux | grep 8377 
airflow 26004 0.0 0.0 14224 976 pts/0 S+ 18:05 0:00 | \_ grep --color=auto 8377 airflow 8377 0.4 1.0 399676 83804 ? Ss Aug23 6:14 /usr/bin/python /usr/local/bin/airflow webserver -p 8080 --pid /home/airflow/airflow/airflow.pid --daemon 
airflow@airflow:~$ ps faux | grep 8397 
airflow 26028 0.0 0.0 14224 940 pts/0 R+ 18:05 0:00 | \_ grep --color=auto 8397 airflow 8397 0.0 0.6 186652 55496 ? S Aug23 0:32 gunicorn: master [airflow-webserver]

不太清楚为什么气流监视器.pid变为只读,但是您可以通过不使用
--daemon
运行Web服务器来完全避免此pid文件。我认为没有必要使用systemd


相关代码块:

不太清楚为什么
气流监视器.pid
会变成只读,但是您可以通过不使用
--守护进程运行Web服务器来完全避免此pid文件。我认为没有必要使用systemd


相关代码块:

很好,正在测试中。我应该在开始时搜索
-monitor
。很好的发现,这正在测试中。我应该一开始就搜索
-monitor