教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

Azkaban:常用的工作流管理器有哪些?

更新時(shí)間:2023年02月01日14時(shí)56分 來(lái)源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

  無(wú)論是在業(yè)務(wù)開發(fā)還是在大數(shù)據(jù)開發(fā)中,工作流管理都是必不可少的,在初期可以使用Linux自帶的crontab工具來(lái)定時(shí)調(diào)度任務(wù),但是當(dāng)業(yè)務(wù)規(guī)模變大并且需要可視化監(jiān)控任務(wù)執(zhí)行的時(shí)候,crontab顯然已經(jīng)滿足不了需求。為此,針對(duì)這種多任務(wù)、可視化調(diào)度的調(diào)度管理需求,Apache以及其他組織提供了一系列工作流管理器,包括Oozie、Azkaban、Zeus、Dagobah、Luigi、Pinball和Airflow等。

  接下來(lái),就選取其中常用的、知名的工作流管理器進(jìn)行簡(jiǎn)單介紹。

  1.Oozie

  Oozie是Apache旗下的用于管理Hadoop任務(wù)的工作流/協(xié)調(diào)系統(tǒng)。Oozie工作流中擁有多個(gè)Action,如Hadoop Map/Reduce job和Hadoop Pig job等,所有的Action以有向無(wú)環(huán)圖(Direct Acyclic Graph,DAG)的模式部署運(yùn)行。

  Oozie工作流管理器的優(yōu)點(diǎn)是與Hadoop生態(tài)圈緊密結(jié)合,提供了諸多配置和功能,可以很好地實(shí)現(xiàn)Hadoop工作任務(wù)管理;缺點(diǎn)是Oozie通過(guò)大量的XML文件來(lái)定義DAG依賴,導(dǎo)致了Oozie的功能和配置過(guò)于復(fù)雜,維護(hù)成本較高,且不易二次開發(fā)。

  2.Azkaban

  Azkaban是由LinkedIn公司開源的一個(gè)批量工作流任務(wù)調(diào)度器,用于在一個(gè)工作流內(nèi)以一個(gè)特定的順序運(yùn)行一組工作和流程。Azkaban定義了一種KV文件格式來(lái)建立任務(wù)之間的依賴關(guān)系,并提供一個(gè)易于使用的UI維護(hù)和跟蹤工作流。

  Azkaban也屬于Hadoop生態(tài)圈,它是通過(guò)較為簡(jiǎn)單的properties文件來(lái)定義DAG依賴的,同時(shí)Azkaban支持可插拔的擴(kuò)展插件,方便擴(kuò)展,如支持pid、hive等。

  Azkaban工作流管理器的特點(diǎn)是所有的任務(wù)資源文件都需要打成一個(gè)zip包上傳。當(dāng)資源文件較大的時(shí)候不是太方便,當(dāng)然也可以進(jìn)行擴(kuò)展,如存放在HDFS上面,任務(wù)實(shí)際運(yùn)行的時(shí)候才拉到本地。

  3.Zeus

  Zeus是Alibaba開源的一個(gè)完整的Hadoop的作業(yè)平臺(tái),用于從Hadoop任務(wù)的調(diào)試運(yùn)行到生產(chǎn)任務(wù)的周期調(diào)度管理。

  Zeus支持任務(wù)執(zhí)行的整個(gè)生命周期。從功能上來(lái)說(shuō),包括支持:

  (1)Hadoop MapReduce任務(wù)的調(diào)試運(yùn)行;

  (2)Hive任務(wù)的調(diào)試運(yùn)行;

  (3)Shell任務(wù)的運(yùn)行;

  (4)Hive元數(shù)據(jù)的可視化查詢與數(shù)據(jù)預(yù)覽;

  (5)Hadoop任務(wù)的自動(dòng)調(diào)度;

  (6)完整的文檔管理。

  需要說(shuō)明的是Zeus是針對(duì)Hadoop集群任務(wù)定制的,通用性不強(qiáng)。Zeus在Github上線時(shí)受到青睞,但是由于長(zhǎng)期缺乏維護(hù)更新,時(shí)隔兩年,依然僅支持Hadoop1.x版本,后期的Zeus版本也不再開源了。

0 分享到:
和我們?cè)诰€交談!