azkaban | airFlow | Oozie | zeus | rundeck | |
背景 | Azkaban是由Linkedin開源的一個批量工作流任務排程器。Azkaban定義了一種KV檔案格式來建立任務之間的依賴關系,并提供一個易于使用的web使用者界面維護和跟蹤你的工作流。 | airflow是Airbnb開源出托管于托管在Apache基金會的,通過python定義作業 | Oozie目前是托管在Apache基金會的,開源。通過XML檔案來定義DAG依賴 | 阿裡開源的基于Hadoop平台的開源工作流排程系統,使用java開發語言 | RunDeck 是用 Java/Grails 寫的開源工具,幫助使用者在資料中心或者雲環境中自動化各種操作和流程。 通過指令行或者web界面,使用者可以對任意數量的伺服器進行操作,大大降低了對伺服器自動化的門檻。 |
排程政策 | √ | √ | √ | √ | √ |
作業異常處理 | √ | √ | √ | √ | |
作業告警 | √ | √ | √ | √ | √ |
監控、審計 | √ | √ | √ | √ | |
可擴充性 | √ | × | |||
權限管理 | √ | × | × | ||
易用性 | √ | ||||
作業編排 | √ | √ | √ | √ | 串行 |
開發語言 | java | python | java | java | |
依賴元件 | mysql資料庫 | mysql資料庫、python2.7 | mysql資料庫 | mysql資料庫、tomcat | mysql資料庫 |
作業配置方式 | command、shell、hadoop、java | python 腳本 | xml方式 | command、shell | command、shell、hadoop |
缺點 | UI界面無法直接添加作業 | python腳本配置作業,學習成本高,項目孵化中 | UI界面不直覺,作業配置複雜,無法通過界面啟動任務 | 已經不在維護,文檔缺失 | 作業依賴線性,沒有清晰的DAG圖 |
優點 | 與Hadoop生态圈結合緊密,分布式,DAG依賴比較直覺,提供可操作的UI界面,公共變量可配置 | 與Hadoop生态圈結合緊密,分布式,DAG依賴比較直覺,提供可操作的UI界面 | 與Hadoop生态圈結合緊密,開源早比較成熟,可以內建到hue中 | 友好的界面顯示、全中文,分布式,具有任務統計報表功能,配置簡單 | 單機部署,分布式指令執行,可以設定作業預期執行時間,适合運維使用 |