您好,登錄后才能下訂單哦!
這篇文章主要介紹“azkaban的使用教程”,在日常操作中,相信很多人在azkaban的使用教程問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”azkaban的使用教程”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
https://localhost:8443
注意是https,采用的是jetty ssl鏈接。輸入賬號密碼azkaban/azkanban(如果你之前沒有更改的話)
首頁有四個菜單
projects:最重要的部分,創建一個工程,所有flows將在工程中運行。
scheduling:顯示定時任務
executing:顯示當前運行的任務
history:顯示歷史運行任務
主要介紹projects部分
首先創建一個工程,填寫名稱和描述,比如o2olog。
type=command command=echo "data 2 hive"
一個簡單的job就創建好了,解釋下,type的command,告訴azkaban用unix原生命令去運行,比如原生命令或者shell腳本,當然也有其他類型,后面說。
一個工程不可能只有一個job,我們現在創建多個依賴job,這也是采用azkaban的首要目的。
我們說過多個jobs和它們的依賴組成flow。怎么創建依賴,只要指定dependencies參數就行了。比如導入hive前,需要進行數據清洗,數據清洗前需要上傳,上傳之前需要從ftp獲取日志。
定義5個job:
o2o_2_hive.job:將清洗完的數據入hive庫
o2o_clean_data.job:調用mr清洗hdfs數據
o2o_up_2_hdfs.job:將文件上傳至hdfs
o2o_get_file_ftp1.job:從ftp1獲取日志
o2o_get_file_fip2.job:從ftp2獲取日志
依賴關系:
3依賴4和5,2依賴3,1依賴2,4和5沒有依賴關系。
o2o_2_hive.job
type=command # 執行sh腳本,建議這樣做,后期只需維護腳本就行了,azkaban定義工作流程 command=sh /job/o2o_2_hive.sh dependencies=o2o_clean_data
o2o_clean_data.job
type=command # 執行sh腳本,建議這樣做,后期只需維護腳本就行了,azkaban定義工作流程 command=sh /job/o2o_clean_data.sh dependencies=o2o_up_2_hdfs
o2o_up_2_hdfs.job
type=command #需要配置好hadoop命令,建議編寫到shell中,可以后期維護 command=hadoop fs -put /data/* #多個依賴用逗號隔開 dependencies=o2o_get_file_ftp1,o2o_get_file_ftp2
o2o_get_file_ftp1.job
type=command command=wget "ftp://file1" -O /data/file1
o2o_get_file_ftp2.job
type=command command=wget "ftp:file2" -O /data/file2
可以運行unix命令,也可以運行python腳本(強烈推薦)。將上述job打成zip包。
ps:為了測試流程,我將上述command都改為echo +相應命令
上傳:
點擊o2o_2_hive進入流程,azkaban流程名稱以最后一個沒有依賴的job定義的。
右上方是配置執行當前流程或者執行定時流程。
Flow view:流程視圖。可以禁用,啟用某些job
Notification:定義任務成功或者失敗是否發送郵件
Failure Options:定義一個job失敗,剩下的job怎么執行
Concurrent:并行任務執行設置
Flow Parametters:參數設置。
1.執行一次
設置好上述參數,點擊execute。
綠色代表成功,藍色是運行,紅色是失敗。可以查看job運行時間,依賴和日志,點擊details可以查看各個job運行情況。
我們可以點擊Detail查看詳細輸出,以及報錯。
2.定時執行
可以定義job依賴另一個flow,配置
type=flow flow.name=fisrt_flow
可以設置每個job中子命令
type=command command=echo "hello" command.1=echo "world"
可以配置job失敗重啟次數,及間隔時間,比如,上述ftp獲取日志,我可以配置重試12次,每隔5分鐘一次。
type=command command=wget "ftp://file1" -O /data/file1 retries=12 #單位毫秒 retry.backoff=300000
到此,關于“azkaban的使用教程”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。