【原創】大數據基礎之Oozie vs Azkaban


概括

Azkaban是一個非常輕量的開源調度框架,適合二次開發,但是無法直接用於生產環境,存在致命缺陷(比如AzkabanWebServer是單點,1年多時間沒有修復),在一些情景下的行為簡單粗暴(比如重啟AzkabanExecutorServer會導致該server上正在運行的所有流程fail),很多時候需要人工干預,要達到生產環境的可靠性級別,至少大量二次開發,並且官方代碼更新很快,合並代碼有很大沖突風險,適合於一些對可靠性要求不高可以快速上手的小公司,不建議使用;

 

Oozie作為apache頂級項目,使用廣泛,功能豐富,代碼質量高,成熟可靠,代碼和部署相對復雜一點,建議使用;

 

 

Oozie

Azkaban

版本

4.3

3.45

開發語言

Java

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

不支持

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM