marcusianlevine.airflow
Ansible角色:airflow
安装和配置一个airflow主机。可用于配置主节点和工作节点。
要求
您需要对要配置的主机具有sudo权限,请使用以下命令以root身份运行。
- name: 配置 airflow 主机
hosts: airflow_hosts
become: yes
roles:
- marcusianlevine.airflow
角色变量
基本的 airflow 配置变量:
# airflow 运行的用户
airflow_user: airflow
# airflow 运行的用户组
airflow_group: "{{ airflow_user }}"
# 要安装的 airflow 版本
airflow_version: 1.8.1
# airflow 安装的目录
airflow_install_directory: /usr/share/airflow
# 通过 pip install 安装的额外软件包
airflow_extra_packages:
- celery
- alldbs
# 在主机上启动的服务
airflow_services:
- webserver
- scheduler
- worker
支持特定部署模式的额外变量:
# 确定是否以及设置哪个进程管理器
use_systemd: yes
use_supervisor: no
# 支持将 airflow 安装到虚拟环境中
# 注意:与 ansible-container 一起使用时必需
virtualenv_path: undefined
airflow.cfg
主要的 airflow 配置通过 yaml 对象完成,默认配置 default_airflow
会与 airflow
对象中的任何覆盖进行合并。所有对象键都将模板化到适当部分的 airflow.cfg
中。所有值都是默认的 airflow 值。
airflow:
core:
dags_folder: "/usr/share/airflow_dags"
base_log_folder: "/var/log/airflow"
webserver:
base_url: "{{ airflow_base_url }}"
scheduler:
statsd_on: True
依赖
无
示例 Playbook
play.yml
- hosts: airflow-masters
become: yes
roles:
- creditcardscom.airflow
vars/main.yml
airflow_user: airflow_user
airflow_version: 1.8.0
airflow_services:
- webserver
- scheduler
airflow:
core:
dags_folder: "/home/{{ airflow_user }}/dags"
许可证 (MIT)
版权所有 (c) 2017 CreditCards.com
特此免费授予任何获得本软件及相关文档文件(“软件”)副本的人,在无任何限制的情况下使用该软件,包括但不限于使用、复制、修改、合并、出版、分发、再授权及/或出售软件副本的权利,并允许向其提供软件的人这样做,遵循以下条件:
上述版权声明及本许可证声明应包含在所有副本或软件的主要部分中。
本软件是在“现状”下提供的,不提供任何形式的担保,包括但不限于对适销性、特定用途的适用性和非侵权的担保。在任何情况下,作者或版权持有人均不对因使用本软件或与本软件或其他交易相关的任何索赔、损害或其他责任承担责任。