AirFlow简介
1, 简介 Airflow是一个可编程,调度和监控的工作流平台,基于有向无环图(DAG),airflow可以定义一组有依赖的任务,按照依赖依次执行。airflow提供了丰富的命令行工具用于系统管控,而其web管理界面同样也可以方便的管控调度任务,并且对任务运行状态进行实时监控,方便了系统的运维和管理。 2,执行器(Executor) Airflow本身是一个综合平台,它兼容多种组件,所以在使用的时候有多种方案可以选择。比如最关键的执行器就有四种选择: SequentialExecutor:单进程顺序执行任务,默认执行器,通常只用于测试 LocalExecutor:多进程本地执行任务 CeleryExecutor:分布式调度,生产常用 DaskExecutor :动态任务调度,主要用于数据分析 在当前项目使用 CeleryExecutor 作为执行器。 celery是一个分布式调度框架,其本身无队列功能,需要使用第三方组件,比如redis或者rabbitmq,当前项目使用的是rabbitmq,系统整体结构如下所示: 其中: turing为外部系统 GDags服务帮助拼接成dag master节点webui管理dags、日志等信息 scheduler负责调度,只支持单节点 worker负责执行具体dag中的task, worker支持多节点 在整个调度系统中