Azkaban使用簡單筆記

2022-09-22 06:09:12 字數 2587 閱讀 5466

官方文件:

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

#test.job

2 type=command #job型別為command

3 command=echo

"hello world

" #command用來執行命令

這段job是執行乙個用來列印hello world的命令的。輸出的內容會顯示在azkaban的web ui中。

ps:標準輸出和標準錯誤都會寫到log中,可以在web ui中檢視。

建立乙個流程:

乙個流程是乙個依賴其他job的job。其他依賴項經常會執行在這個流程job之前。

1

#this is flow bar.job

2 type=command

3 dependencies=test

4 command=echo bar

這個job依賴於之前的test.job

在azkaban中,type值得是執行的型別,command指的是一條linux命令,同時azkaban還支援python,j**a等直接執行,也就可以是hadoop的shell。

乙個流程也可以作為乙個節點嵌入到其他job檔案中,形成嵌入流

type=flow

flow.name=bar

這樣嵌入到了另乙個job中去

乙個簡單的例子

檔案test.sh

1 #!/bin/bash

2echo

"hello world

"

檔案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:

1

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

有著四個job檔案組成的為乙個流,我們可以看到流的組成方式為job相互依賴的,將該flow上傳上去之後,azkaban會將該流裡的job以圖的形式展示出來。

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...