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

全國咨詢/投訴熱線:400-618-4000

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

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

好口碑IT培訓

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

  接下來,就選取其中常用的、知名的工作流管理器進行簡單介紹。

  1.Oozie

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

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

  2.Azkaban

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

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

  Azkaban工作流管理器的特點是所有的任務資源文件都需要打成一個zip包上傳。當資源文件較大的時候不是太方便,當然也可以進行擴展,如存放在HDFS上面,任務實際運行的時候才拉到本地。

  3.Zeus

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

  Zeus支持任務執(zhí)行的整個生命周期。從功能上來說,包括支持:

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

  (2)Hive任務的調(diào)試運行;

  (3)Shell任務的運行;

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

  (5)Hadoop任務的自動調(diào)度;

  (6)完整的文檔管理。

  需要說明的是Zeus是針對Hadoop集群任務定制的,通用性不強。Zeus在Github上線時受到青睞,但是由于長期缺乏維護更新,時隔兩年,依然僅支持Hadoop1.x版本,后期的Zeus版本也不再開源了。

0 分享到:
和我們在線交談!