1.前言
airflow作为调度工具,由Webserver、Scheduler、Worker三个组件互相配合完成工作。三个组件之间没有强依赖关系,依靠共用数据库和消息队列完成调度任务。因此,在多台机器上部署airflow,配置相同的元数据库和消息队列,以此来实现airflow的集群模式。
2.工作原理
1) airflow启动时,会将dag中的相关信息写入数据库。
2) scheduler会按照指定频次查询数据库,检测是否有需要触发的任务。
3) 当scheduler检测到需要触发的任务时,会向消息队列发送一条Message。
4) Celery会定时查询消息队列中,是否有Message。当检测到Message时,会将Message中包含的任务信息下发给Worker,由Worker执行具体任务。
3.Airflow安装
4.组件高可用
1) 启动多个webserver,通过HAProxy做LB。
2) 启动多个Worker。
3) 使用airflow-scheduler-failover-controller实现scheduler的高可用。
4) Mysql做主从备份。
5)