2017-08-24 15 views
0

私のsystemdユニットファイルが動作しています(下記)。気流とsystemd: `airflow.pid`と` airflow-monitor.pid`

しかし、airflow-monitor.pidファイルは一時的に読み取り専用になり、時には空気の流れが妨げられることがあります。この問題が発生した場合は、airflow-monitor.pidを削除してください。これはairflow.pidと同じファイルではありません。

airflow.pidはgunicorn、airflow-monitor.pidは気流ウェブサーバーとしてのpythonプロセスです。

にsystemdユニットファイル:ここで

[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 

は、PIDファイルの出力です:

[email protected]:~$ cat airflow/airflow.pid 
8397 
[email protected]:~$ cat  airflow/airflow-monitor.pid 
8377 
[email protected]:~$ 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 
[email protected]:~$ 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] 

答えて

2

ないairflow-monitor.pidが読み取り専用になっている理由はかなり確かに、しかし、あなたは避けることができますこのpidファイルは完全にウェブサーバーを​​で実行していないためです。私はそれがsystemdで必要とは思わない。

関連するブロックコード:https://github.com/apache/incubator-airflow/blob/master/airflow/bin/cli.py#L754-L765

+0

ニースが見つかりました。これはテスト中です。私はget-goから '-monitor'のためだけに挨拶していたはずです。 – robbintt

関連する問題