预期功能点常用调度系统对比Azkaban1. 简介2. 优点3. 缺点AirFlow1. 简介2. 优点3. 缺点Oozie1. 简介2. 优点3. 缺点Zeus1. 简介2. 优点3. 缺点Rundeck1. 简介2. 优点3. 缺点参考
预期功能点
作业编排(满足串行、并行、多依赖等)。调度策略。作业异常处理(作业重试、异常处理机制、任务补偿、延迟处理机制)作业告警。监控、审计(当前作业监控、历史作业完成情况)。可扩展性。权限管理。易用性。
常用调度系统对比| 比较项 | Azkaban | AirFlow | Oozie | Zeus | RunDeck |
| :—- | :—-: | :—-: | :—-: | :—-: | :—-: |
| 所有者 | Linkedin | Airbnb->Apache | Apache | Alibaba | RunDeck |
| 历史 | 9年 | 6年 | 10年 | 7年 | 10年 |
| 调度策略 | √ | √ | √ | √ | √ |
| 作业异常处理 | √ | √ | × | √ | √ |
| 作业告警 | √ | √ | √ | √ | √ |
| 监控、审计 | √ | √ | √ | √ | √ |
| 可扩展性 | √ | √ | × | × | √ |
| 权限管理 | √ | √ | × | √ | × |
| 易用性 | √ | √ | × | × | √ |
| 作业编排 | √ | √ | √ | √ | 串行 |
| 开发语言 | java | python | java | java | java |
| 依赖组件 | MySQL | MySQL、python2.7 | MySQL | MySQL、Tomcat | MySQL |
| 作业配置方式 | command、java | python脚本 | xml方式 | command、shell | command |
Azkaban
1. 简介Azkaban是由Linkedin开源的一个批量工作流任务调度器。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。
2. 优点与Hadoop生态圈结合紧密,分布式,DAG依赖比较直观,提供可操作的UI界面,公共变量可配置。
3. 缺点UI界面无法直接添加作业。
AirFlow
1. 简介Airflow是Airbnb开源,托管于Apache基金会的,通过python定义作业。
2. 优点与Hadoop生态圈结合紧密,分布式,DAG依赖比较直观,提供可操作的UI界面。
3. 缺点python脚本配置作业,学习成本高,项目孵化中。
Oozie
1. 简介Oozie目前是托管在Apache基金会的,开源。通过XML文件来定义DAG依赖。
2. 优点与Hadoop生态圈结合紧密,开源早比较成熟,可以集成到HUE中。
3. 缺点UI界面不直观,作业配置复杂,无法通过界面启动任务。
Zeus
1. 简介阿里开源的基于Hadoop平台的开源工作流调度系统,使用java开发语言。
2. 优点友好的界面显示、全中文,分布式,具有任务统计报表功能,配置简单。
3. 缺点已经不在维护,文档缺失。
Rundeck
1. 简介RunDeck是用 Java/Grails写的开源工具,帮助用户在数据中心或者云环境中自动化各种操作和流程。通过命令行或者web界面,用户可以对任意数量的服务器进行操作,大大降低了对服务器自动化的门槛。
2. 优点单机部署,分布式指令执行,可以设置作业预期执行时间,适合运维使用。
3. 缺点作业依赖线性,没有清晰的DAG图。
参考CSDN:调度系统对比 azkaban&airFlow&Oozie&zeus&rundeckhttps://blog.csdn.net/weixin_36836847/article/details/96379318