Azkaban使用简单笔记
?
官方文檔:http://azkaban.github.io/
Azkaban主要的組成:
1. 關系型數據庫——MySQL
2. AzkabanWebServer
3. AzkabanExcutorServer
使用MySQL存儲狀態,AzkabanWebServer和AzkabanExcutorServer訪問數據庫。
AzkabanWebServer主要管理者Azkaban,主要進行了項目管理、身份驗證、調度和監控執行。并且為用戶界面。
使用方法:
登錄Azkaban環境登錄賬號和密碼之后將會看到一個項目列表界面。
點擊創建項目就可以創建安新的項目,創建名稱可以第一次命名之后不能再次改變,項目描述可以改變。創建好項目之后,就會進入項目界面,如果沒有相關按鈕,則說明用戶沒有相關權限,現在為一個空項目。
上傳項目,點擊Upload就可以上傳項目,項目可以上zip文件,zip里需要包含*.job文件和其他需要運行的job。Job名稱必須唯一。
創建流程:
Job為一條在Azkaban中運行的進程。這些Job可以依賴于其他Job。一組Job和他們的所依賴構成了Flow
先創建job文件,文件后綴為*.job。
這段job是執行一個用來打印hello world的命令的。輸出的內容會顯示在Azkaban的Web UI中。
PS:標準輸出和標準錯誤都會寫到log中,可以在Web UI中查看。
創建一個流程:
一個流程是一個依賴其他job的job。其他依賴項經常會運行在這個流程job之前。
這個job依賴于之前的test.job
在Azkaban中,type值得是運行的類型,command指的是一條Linux命令,同時Azkaban還支持python,java等直接運行,也就可以是hadoop的shell。
一個流程也可以作為一個節點嵌入到其他job文件中,形成嵌入流
type=flow flow.name=bar
這樣嵌入到了另一個job中去
一個簡單的例子
文件test.sh
文件aztest.job
1 # aztest.job 2 type=command 3 command=sh test.sh文件zatest.properties
user.to.proxy=Hadoop將這三個文件打包為zip包:
zip aztestlh.zip aztest.job aztest.properties test.sh然后上傳文件到Azkaban
上傳完成值后就可以看到相關信息了
點擊Execute Flow就可以運行
運行成功之后,圖的底色會變成綠色:
查看日志信息可以看到我們之前的shell腳本輸出的內容:
運行job的另一個方式就是定時,也就類似于cron,一個Azkaban項目就是定時腳本執行的調度器。
一個Flow的例子:
定義多個job以及job之間的依賴就可以組成flow。定義依賴可以使用dependencies參數就可以了。例如創建了4個job:
有著四個job文件組成的為一個流,我們可以看到流的組成方式為job相互依賴的,將該Flow上傳上去之后,Azkaban會將該流里的job以圖的形式展示出來。
PS:Azkaban在執行完畢之后說的成功和失敗,指的是job文件的成功和失敗,并不是job文件所執行的其他文件失敗與否。
發送郵件
Azkaban為我們的提供了任務執行的job結果成功失敗的郵件提示。
Azkaban為我們提供了3種執行發送消息的選擇,分別為失敗了發送郵件,失敗發送短信和成功發送郵件。可以進行相關設置在對應的時候發送相關信息。
?
轉載于:https://www.cnblogs.com/Summer7C/p/7212607.html
總結
以上是生活随笔為你收集整理的Azkaban使用简单笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MFC动态调用DLL
- 下一篇: Python进阶(5)_进程与线程之协程