官方文件:
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。
1這段job是執行乙個用來列印hello world的命令的。輸出的內容會顯示在azkaban的web ui中。#test.job
2 type=command #job型別為command
3 command=echo
"hello world
" #command用來執行命令
ps:標準輸出和標準錯誤都會寫到log中,可以在web ui中檢視。
建立乙個流程:
乙個流程是乙個依賴其他job的job。其他依賴項經常會執行在這個流程job之前。
1這個job依賴於之前的test.job#this is flow bar.job
2 type=command
3 dependencies=test
4 command=echo bar
在azkaban中,type值得是執行的型別,command指的是一條linux命令,同時azkaban還支援python,j**a等直接執行,也就可以是hadoop的shell。
乙個流程也可以作為乙個節點嵌入到其他job檔案中,形成嵌入流
type=flow這樣嵌入到了另乙個job中去flow.name=bar
乙個簡單的例子
檔案test.sh
1 #!/bin/bash檔案aztest.job2echo
"hello world
"
1檔案zatest.properties# aztest.job
2 type=command
3 command=sh test.sh
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:
1有著四個job檔案組成的為乙個流,我們可以看到流的組成方式為job相互依賴的,將該flow上傳上去之後,azkaban會將該流裡的job以圖的形式展示出來。start.job
2 type=command
3 command=echo
"start execute"4
test.job
5 type=command
6 command=echo
"hello world"7
sleep
.job
8 type=command
9 dependencies=test, start
10finish.job
11 type=command
12 dependencies=sleep
ps:azkaban在執行完畢之後說的成功和失敗,指的是job檔案的成功和失敗,並不是job檔案所執行的其他檔案失敗與否。
傳送郵件
azkaban為我們的提供了任務執行的job結果成功失敗的郵件提示。
azkaban為我們提供了3種執行傳送訊息的選擇,分別為失敗了傳送郵件,失敗傳送簡訊和成功傳送郵件。可以進行相關設定在對應的時候傳送相關資訊。
簡單筆記(四)
第二章 型別 運算子與表示式 10.11.25 2.1 變數名 對變數與符號常量的名字存在著一些限制。名字有字幕 與數字組成,但其第乙個字元必須為字母。下劃線 也 被看做是字母,它有時可用於命名比較長的變數以提高 可讀性。由於庫函式通常使用下劃線開頭的名字,因此 不要將這類名字用作變數名。大寫字母與...
UIApplication 簡單筆記
如何取得?很簡單 copy 下面的 code 就好,不會有第二種寫法,也完全不用考量什麼 記憶體管理。2 push notification iphone 3.0 新增的功能,用來唬爛可以滿足部分多工需求的功能。好啦,是真的還不錯 是的!搖晃時 undo 我們都知道 iphone 可以知道自己在旋轉...
LBFGS 簡單筆記
52nlp上無約術最優化的文章 後面提到了乙個無約束最優化的c 實現 sample lbfgs.c lm 計算原函式和梯度fx g d g 計算xnorm,gnorm 判定gnorm xnorm 是否滿足條件 計算step 1 sqrt d d k 1,end 0 進入for迴圈 計算xnorm,g...