更新時間:2021年10月21日10時08分 來源:傳智教育 瀏覽次數(shù):
Oozie是一個用來管理Hadoop生態(tài)圈job的工作流調(diào)度系統(tǒng)。由Cloudera公司貢獻(xiàn)給Apache。Oozie是運行于Javaservlet容器上的一個javaweb應(yīng)用。Oozie的目的是按照DAG(有向無環(huán)圖)調(diào)度一系列的Map/Reduce或者Hive等任務(wù)。Oozie 工作流由hPDL(Hadoop Process Definition Language)定義(這是一種XML流程定義語言)。適用場景包括:
·需要按順序進(jìn)行一系列任務(wù);
·需要并行處理的任務(wù);
·需要定時、周期觸發(fā)的任務(wù);
·可視化作業(yè)流運行過程;
運行結(jié)果或異常的通報。
Oozie Client:提供命令行、java api、rest等方式,對Oozie的工作流流程的提交、啟動、運行等操作;
Oozie WebApp:即 Oozie Server,本質(zhì)是一個java應(yīng)用??梢允褂脙?nèi)置的web容器,也可以使用外置的web容器;
Hadoop Cluster:底層執(zhí)行Oozie編排流程的各個hadoop生態(tài)圈組件;
Oozie對工作流的編排,是基于workflow.xml文件來完成的。用戶預(yù)先將工作流執(zhí)行規(guī)則定制于workflow.xml文件中,并在job.properties配置相關(guān)的參數(shù),然后由Oozie Server向MR提交job來啟動工作流。
工作流由兩種類型的節(jié)點組成,分別是:
Control Flow Nodes:控制工作流執(zhí)行路徑,包括start,end,kill,decision,fork,join。
Action Nodes:決定每個操作執(zhí)行的任務(wù)類型,包括MapReduce、java、hive、shell等。
添加QQ435946716,免費獲取【全套Oozie從入門到精通教程+講義】。
猜你喜歡