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負載過多)
