2016-09-08 156 views
3

我是新來的氣流。我試圖將氣流調度程序作爲守護程序進程運行,但該進程壽命不夠長。我已經配置在airflow.cfg文件「LocalExecutor」跑了之後開始調度命令。(我使用谷歌計算引擎,並透過膩子服務器)如何將airflow調度器作爲守護進程運行?

airflow scheduler --daemon --num_runs=5 --log-file=/root/airflow/logs/scheduler.log 

當我運行此命令時,氣流調度開始和我可以在我的airflow home文件夾中看到airflow-scheduler.pid文件,但是這個過程不會延長。當我用putty關閉會話並重新連接服務器時,我無法找到調度程序進程。我錯過了什麼嗎?如何將調度程序作爲守護進程運行?

回答

2

--num-runs=5會使調度程序運行任務實例5次。您可以刪除該參數以使調度程序長時間運行。

理想情況下,您應該在主管下運行該調度程序,因此當進程崩潰/停止時,它將重新運行。

1

這裏描述,您可以使用systemd或新貴:

https://github.com/apache/incubator-airflow/tree/master/scripts/systemd https://github.com/apache/incubator-airflow/tree/master/scripts/upstart

這裏是以防萬一的說明,如果鏈接在未來的突破。

提供的systemd文件在基於RedHat的系統上進行測試。將它們複製(或鏈接)到/ usr/lib/systemd/system 並將airflow.conf複製到/etc/tmpfiles.d/或/usr/lib/tmpfiles.d/。複製airflow.conf確保/運行/氣流爲 使用正確的所有者和權限創建(0755氣流氣流)

然後,您可以使用systemctl start啓動不同的服務器。啓用服務可以通過發出

systemctl enable [service]

默認情況下,環境配置點到/ etc/SYSCONFIG /氣流來完成。您可以複製這個 目錄中的「airflow」文件並根據自己的喜好進行調整。確保指定SCHEDULER_RUNS變量。

隨着一些小的變化,他們可能在其他systemd系統上工作。

可以修改下面提供的配置文件,以反映環境的/ etc/SYSCONFIG /氣流文件的

內容

# This file is the environment file for Airflow. Put this file in /etc/sysconfig/airflow per default 
# configuration of the systemd unit files. 
# 
# AIRFLOW_CONFIG= 
# AIRFLOW_HOME= 
# 
# required setting, 0 sets it to unlimited. Scheduler will get restart after every X runs 
SCHEDULER_RUNS=5 

/etc/tmpfiles.d/airflow.conf的內容或/usr/lib/tmpfiles.d/airflow.conf文件

D /run/airflow 0755 airflow airflow

內容/usr/lib/systemd/system/airflow-scheduler.service

[Unit] 
Description=Airflow scheduler 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/sysconfig/airflow 
User=airflow 
Group=airflow 
Type=simple 
ExecStart=/bin/airflow scheduler -n ${SCHEDULER_RUNS} 
KillMode=process 
Restart=always 
RestartSec=5s 

[Install] 
WantedBy=multi-user.target 
+0

作爲鏈接在未來可能會斷裂,這將是非常有用的,你認爲是包括相關回答這個問題的信息,請回答。 – cavpollo

+1

感謝您的反饋,cavpollo。我已經添加了所有相關信息。 –

相關問題