Azkaban是一个很是轻量的开源调度框架,适合二次开发,可是没法直接用于生产环境,存在致命缺陷(好比AzkabanWebServer是单点,1年多时间没有修复),在一些情景下的行为简单粗暴(好比重启AzkabanExecutorServer会致使该server上正在运行的全部流程fail),不少时候须要人工干预,要达到生产环境的可靠性级别,至少大量二次开发,而且官方代码更新很快,合并代码有很大冲突风险,适合于一些对可靠性要求不高能够快速上手的小公司,不建议使用;git
Oozie做为apache顶级项目,使用普遍,功能丰富,代码质量高,成熟可靠,代码和部署相对复杂一点,建议使用;github
|
Oozieweb |
Azkabanapache |
版本框架 |
4.3tcp |
3.45oop |
开发语言url |
Javaspa |
Java插件 |
任务配置 |
Xml文件(存放在hdfs) Properties文件 |
Properties文件(打成Zip,上传后存放在DB) |
添加任务 |
hdfs上传Xml文件后client经过Properties文件提交 |
web上传Zip AJAX上传Zip |
任务运行 |
Yarn |
AzkabanExecutorServer执行 |
分配粒度 |
任务 |
工做流 |
失败重试 |
支持 |
支持 |
扩展性 |
好,支持服务扩展、任务扩展 |
好,支持插件化、任务扩展 |
接口 |
命令行 Java API |
网页 AJAX API |
支持任务类型 |
HDFS、MapReduce、Java、Shell、SSH、Pig、Hive、E-Mail、Sub-Workflow、Sqoop、Distcp |
Shell、Java 其余须要插件支持 |
部署 |
相对复杂 |
简单 |
GUI |
开源Hue提供GUI方式编辑流程定义 |
不提供GUI编辑流程定义 |
可靠性 |
可靠 经过Zookeeper实现HA |
不可靠 AzkabanWebServer是单点,17年3月社区就提到该问题,但1年多事后尚未修复 |
重启影响 |
无 |
重启AzkabanExecutorServer会致使该server上正在运行的全部流程fail,还可能须要刷新executors状态 |
代码质量 |
很是好 |
通常,而且代码中不少TODO |
代码更新 |
慢 |
很快,小版本不少 |
任务重复运行风险 |
无 |
有 |
SLA |
支持 |
支持 |
监控 |
web-services API instrumentation log |
不支持 |
流程状态回调 |
JMS 或 oozie.coord.action.notification.url oozie.wf.workflow.notification.url oozie.wf.action.notification.url |
不支持 |