该文档指定了集成说明
我想要的是,每次调度程序停止工作时,它将自己重新启动。通常,我使用手动启动它,airflow scheduler -D
但有时在不可用时停止。
阅读文档时,我不确定配置。
在GitHub上包含以下文件:
airflow
airflow-scheduler.service
airflow.conf
Run Code Online (Sandbox Code Playgroud)
我正在运行Ubuntu 16.04
气流安装在:
home/ubuntu/airflow
Run Code Online (Sandbox Code Playgroud)
我有以下路径:
etc/systemd
Run Code Online (Sandbox Code Playgroud)
该文档说:
将它们复制(或链接)到/ usr / lib / systemd / system
将airflow.conf复制到/etc/tmpfiles.d/
什么是tmpfiles.d?
什么是# AIRFLOW_CONFIG=
在气流文件?
或者换句话说...关于如何做到这一点的更多“脚踏实地”指南?
将Airflow与systemd文件集成在一起可以轻松监视守护程序,因为systemd可以在失败时重新启动守护程序。这也使系统启动时能够自动启动气流Web服务器和调度程序。
编辑airflow
从文件systemd
夹中的气流Github上按照当前的配置来设置环境变量AIRFLOW_CONFIG
,AIRFLOW_HOME
及SCHEDULER
。
将服务文件(带有.service
扩展名的文件)复制到/usr/lib/systemd/system
VM中。
将airflow.conf
文件复制到/etc/tmpfiles.d/或/usr/lib/tmpfiles.d/。复制airflow.conf
确保/run/airflow
使用正确的所有者和权限(0755 airflow airflow
)创建。检查是否/run/airflow
有存在airflow:airflow
的气流用户和气流组拥有,如果它不建立/run/airflow
与这些权限的文件夹。
systemctl enable <service>
如下所示在命令行上启用此服务。
sudo systemctl enable airflow-webserver
sudo systemctl enable airflow-scheduler
Run Code Online (Sandbox Code Playgroud)
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
Restart=always
RestartSec=5s
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1628 次 |
最近记录: |