不多說,直接上乾貨!
http://www.cnblogs.com/zlslch/category/938837.html
Azkaban是什麼?
Azkaban是一套簡單的任務調度服務,整體包括三部分webserver、dbserver、executorserver。
是linkin的開源項目,開發語言爲Java。
Azkaban是由Linkedin開源的一個批量工作流任務調度器。用於在一個工作流內以一個特定的順序運行一組工作和流程。
Azkaban定義了一種KV文件格式來建立任務之間的依賴關係,並提供一個易於使用的web用戶界面維護和跟蹤你的工作流。
Azkaban典型使用場景
實際當中經常有這些場景:每天有一個大任務,這個大任務可以分成A,B,C,D四個小任務,A,B任務之間沒有依賴關係,C任務依賴A,B任務的結果,D任務依賴C任務的結果。一般的做法是,開兩個終端同時執行A,B,兩個都執行完了再執行C,最後再執行D。這樣的話,整個的執行過程都需要人工參加,並且得盯着各任務的進度。但是我們的很多任務都是在深更半夜執行的,通過寫腳本設置crontab執行。其實,整個過程類似於一個有向無環圖(DAG)。每個子任務相當於大任務中的一個流,任務的起點可以從沒有度的節點開始執行,任何沒有通路的節點之間可以同時執行,比如上述的A,B。總結起來的話,我們需要的就是一個工作流的調度器,而azkaban就是能解決上述問題的一個調度器。
Azkaban官網