Azkaban是什麼 Azkaban是由Linkedin開源的做批量工作流任務的調度器。在一個工作流內按照特定的順序運行一組工作和流程。Azkaban定義了一種KV文件格式來建立任務之間的相互依賴關係,並且提供了一個易於使用的web用戶界面維護與跟蹤你的工作流。 Azkaban的功能特點: web用 ...
Azkaban是什麼
Azkaban是由Linkedin開源的做批量工作流任務的調度器。在一個工作流內按照特定的順序運行一組工作和流程。Azkaban定義了一種KV文件格式來建立任務之間的相互依賴關係,並且提供了一個易於使用的web用戶界面維護與跟蹤你的工作流。
Azkaban的功能特點:
web用戶界面
方便上傳工作流
方便設置任務之間的關係
工作流調度
認證/授權
能夠殺死並重新啟動工作流
模塊化與可插拔的插件機制
項目工作區
工作流與任務的日誌記錄和審計
Azkaban的核心架構體系
1)MySQL實例--Azkaban使用MySQL來存儲項目和執行(暫只支持MySQL資料庫,未來可能會支持更多的資料庫)
2)Azkaban Web伺服器--Azkaban使用Jetty作為Web伺服器,用作控制器和提供Web界面(為什麼不同Tomcat?由於Tomcat比較重量級,需要單獨部署,這裡沒有必要)
3)Azkaban執行伺服器--Azkaban執行伺服器執行提交工作流
Azkaban的三種運行模式
1)solo server mode(這種模式不會用到,瞭解即可)
H2(存儲用H2資料庫)
web server和executor server運行在一個進程里
2)two server mode (重點掌握)
MySQL(主從結構,為了避免單點故障)
web server和executor server運行在不同的進程
3)multiple executor mode
MySQL(主從結構)
web server和executor server運行在不同的進程
executor server有多個(避免一個executor server負載過多)