【原创】大数据基础之Oozie vs Azkaban

归纳

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年多事后尚未修复

https://github.com/azkaban/azkaban/issues/952

重启影响

重启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

不支持

相关文章
相关标签/搜索