| DolphinScheduler | Azkaban | Airflow |
稳定性 | |||
单点故障 | 去中心化的多Master和多Worker | 是 单个Web和调度程序组合节点 | 是 单一调度程序 |
HA额外要求 | 不需要(本身就支持HA) | DB | Celery / Dask / Mesos + Load Balancer + DB |
过载处理 | 任务队列机制,单个机器上可调度的任务数量可以灵活配置,当任务过多时会缓存在任务队列中,不会造成机器卡死 | 任务太多时会卡死服务器 | 任务太多时会卡死服务器 |
易用性 | |||
DAG监控界面 | 任务状态、任务类型、重试次数、任务运行机器、可视化变量等关键信息一目了然 | 只能看到任务状态 | 不能直观区分任务类型 |
可视化流程定义 | 是 所有流程定义操作都是可视化的,通过拖拽任务来绘制DAG,配置数据源及资源。同时对于第三方系统,提供api方式的操作。 | 否 通过自定义DSL绘制DAG并打包上传 | 否 通过python代码来绘制DAG,使用不便,特别是对不会写代码的业务人员基本无法使用。 |
快速部署 | 一键部署 | 集群化部署复杂 | 集群化部署复杂 |
功能 | |||
是否能暂停和恢复 | 支持暂停,恢复操作 | 否 只能先将工作流杀死再重新运行 | 否 只能先将工作流杀死再重新运行 |
是否支持多租户 | 支持 easyscheduler上的用户可以通过租户和hadoop用户实现多对一或一对一的映射关系,这对大数据作业的调度是非常重要的。 | 否 | 否 |
任务类型 | 支持传统的shell任务,同时支持大数据平台任务调度: MR、Spark、SQL(mysql、postgresql、hive、sparksql)、Python、Procedure、Sub_Process | shell、gobblin、hadoopJava、java、hive、pig、spark、hdfsToTeradata、teradataToHdfs | BashOperator、DummyOperator、MySqlOperator、HiveOperator、EmailOperator、HTTPOperator、SqlOperator |
契合度 | 支持大数据作业spark,hive,mr的调度,同时由于支持多租户,与大数据业务更加契合 | 由于不支持多租户,在大数据平台业务使用不够灵活 | 由于不支持多租户,在大数据平台业务使用不够灵活 |
扩展性 | |||
是否支持自定义任务类型 | 是 | 是 | 是 |
是否支持集群扩展 | 是 调度器使用分布式调度,整体的调度能力会随便集群的规模线性增长,Master和Worker支持动态上下线 | 是,但是复杂 Executor水平扩展 | 是,但是复杂 Executor水平扩展 |
Apache DolphinScheduler对比Azkaban、Airflow
最新推荐文章于 2025-03-17 21:04:48 发布