azkaban mysql参数_学习azkaban的笔记以及心得
Azkaban是Linkedin開(kāi)源的任務(wù)調(diào)度軟件。致力于解決Hadoop job 問(wèn)題。
主要解決ETL中有順序的任務(wù)。
一、基本概念:
其中主要有三個(gè)組件組成:
Relational Database(只支持MySql)
Azkaban WebServerWebUI)
Azkaban ExecutorServer
Azkaban2目前支持三種模式:
solo server mode
two server mode
multiple executor mode
Azkaban界面中的主要元素有三個(gè),分別是project、job與flow
project可以理解為某個(gè)項(xiàng)目,其項(xiàng)目中包含了許多需要執(zhí)行的任務(wù),即為job,各個(gè)job之間形成依賴(lài)關(guān)系,便組成了工作流flow
二.如何使用:
首先,需要?jiǎng)?chuàng)建以.job為擴(kuò)展名的文件,一個(gè)文件即代表一個(gè)任務(wù)。
所有的job都需要一個(gè)知道他們?nèi)绾稳?zhí)行的type。一般的,有這樣四種job類(lèi)型:Java、command、javaprocess和pig。
本文以type=command為例
其次在這個(gè)文件中添加這個(gè)任務(wù)所需的參數(shù)與參數(shù)值,
必須的參數(shù)有type與command
例如:
type=command
command=echo 'jobs start’
四類(lèi)job類(lèi)型的文件都可以添加的參數(shù)有以下幾個(gè):
retries --> 任務(wù)失敗時(shí)自動(dòng)重啟的次數(shù)
retry.backoff --> 每一次任務(wù)嘗試重啟時(shí)之間等待的毫秒數(shù)
working.dir --> 可以重新指定任務(wù)執(zhí)行的工作目錄,默認(rèn)為目前正在運(yùn)行的任務(wù)的工作目錄
failure.emails --> 任務(wù)失敗時(shí)的郵件提醒設(shè)置,以逗號(hào)分隔多個(gè)郵箱
success.emails --> 任務(wù)成功時(shí)的郵件提醒設(shè)置,以逗號(hào)分隔多個(gè)郵箱
notify.emails --> 任務(wù)無(wú)論失敗還是成功都郵件提醒設(shè)置,以逗號(hào)分隔多個(gè)郵箱
dependencies--> 定義該文件依賴(lài)的文件,值為被依賴(lài)文件的文件名,多個(gè)目標(biāo)以逗號(hào)分隔,不加擴(kuò)展名
保存為start.job文件即創(chuàng)建好了一個(gè)job,其中
Azkaban每個(gè)project中只能上傳一個(gè).zip文件
三、創(chuàng)建工作流flow
定義好所有的參數(shù)后即為定義好了一個(gè)job,如果添加了dependencies參數(shù)即形成了工作流flow
以開(kāi)頭的任務(wù)流為例:
#start.job
type=command
command=echo "jobs start"
#A.job
type=command
command=echo?"This A job"
dependencies=start#B.job
type=command
command=echo?"This B job"
dependencies=start#C.job
type=command
command=echo?"This C job"
dependencies=A,B#D.job
type=command
command=echo?"This D job"
dependencies=C
保存好5個(gè)文件后,將5文件打包成zip,然后在界面中進(jìn)行上傳,就會(huì)將這幾個(gè)job上傳到了系統(tǒng)中,最終呈現(xiàn)成一個(gè)DAG圖。
四、簡(jiǎn)單比較:
airflow ?python實(shí)現(xiàn),在使用的時(shí)候需要自己填寫(xiě)python代碼,利用Python代碼實(shí)現(xiàn) Job 的 Dag流程。界面操作人性化,缺點(diǎn),只能單節(jié)點(diǎn)運(yùn)行。
Oozie:與airflow類(lèi)似,使用的時(shí)候需要手動(dòng)填寫(xiě)XML的配置文件,WEB UI,類(lèi)比airflow 并沒(méi)有那么人性化。
五、總結(jié)
這幾天在使用Azkaban的時(shí)候遇到些坑,這里簡(jiǎn)單記錄一下。
1.啟動(dòng)Azkaban的時(shí)候,一定要在/bin目錄這一級(jí)目錄使用/bin/xxx進(jìn)行啟動(dòng)與停止,
否則找不到,啟動(dòng)會(huì)報(bào)錯(cuò)。
2.在使用的時(shí)候上傳job的文件,若是單個(gè)job文件壓縮上傳,不要放到一個(gè)文件夾里面再壓縮,
需要直接壓縮,不然Azkaban會(huì)找不到對(duì)應(yīng)的job。若是多個(gè)job 文件,也是不要將所有的job
文件放到文件夾下壓縮,而是直接壓縮多個(gè)job文件。
總結(jié)
以上是生活随笔為你收集整理的azkaban mysql参数_学习azkaban的笔记以及心得的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql创建回滚点_mysql创建与回
- 下一篇: iQOO Z7 5G 在印度发布:搭载天