【原創】大數據基礎之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

不支持

相關文章
相關標籤/搜索