启动配置
- 设置airflow home目录: export AIRFLOW_HOME=/home/suoper/airflow/export AIRFLOW_HOME=/home/suoper/airflow/
- 以python3.5 环境运行:airflow webserver -D
- 启动scheduler调度器:airflow scheduler -D
日志配置
- vi airflow.cfg
- 修改日志位置
# The folder where airflow should store its log files
# This path must be absolute
base_log_folder = /data/bigdata/airflow/logs
# How often should stats be printed to the logs
print_stats_interval = 30
child_process_log_directory = /data/bigdata/airflow/logs/scheduler
airflow的时区设置
airflow默认的调度时间为UTC. 这个非常麻烦, 因为中国的服务器时间是北京时间, 但是ariflow的调度时间是UTC, 相差了8小时.
airflow直到1.10.0 才解决这个问题. 有人会疑惑为什么这个基础的功能这个就才解决. airflow的开发者由于是跨国公司, 他们的服务器时间正是UTC. 所以他们不存在这个问题, 支持本地时间也是由于社区的要求才开发的功能.
在 airflow.cfg中配置:
default_timezone = Asia/Shanghai
airflow的分布式方案
airflow的webserver和scheduler是单点的, 但是可以对worker进行分布式部署. 只需要将相同的配置和环境变量拷贝过去, 同时启动worker进程. scheduler能及时发现新的worker.
有一点需要注意的是, worker的运行依赖于dags目录. 因此dags文件必须在每个airflow主机上存在. 本人推荐使用挂载公共目录的方式进行共享.