




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
修訂記錄建議直接將本膠片另存,然后在此膠片的基礎(chǔ)上進(jìn)行編輯。本部分包含:培訓(xùn)目標(biāo)、目錄、習(xí)題、總結(jié)、問題等模板。參考IT解決方案產(chǎn)品培訓(xùn)課程開發(fā)內(nèi)容要素,按照模塊開發(fā)。課程編碼適用產(chǎn)品產(chǎn)品版本課程版本ISSUEH13-711FusionInsightHDV100R002C60V1.0開發(fā)/優(yōu)化者時間審核人開發(fā)類型(新開發(fā)/優(yōu)化)向宏偉002668902016年6月高冬冬wx321719新開發(fā)本頁不打印Oozie總體篇學(xué)完本課程后,您將能夠:掌握Oozie的基本概念掌握Oozie的使用場景掌握Oozie系統(tǒng)架構(gòu)掌握Oozie的基本功能Oozie基本介紹Oozie架構(gòu)與原理關(guān)鍵特性介紹應(yīng)用舉例Oozie概述Oozie是一個Hadoop作業(yè)的工作流調(diào)度管理系統(tǒng)。Oozie工作流(Workflow)是放置在控制依賴DAG(有向無環(huán)圖)中的一組動作(Action)集合,控制依賴可確保后續(xù)操作在前面的操作已成功完成后才會啟動。Oozie的協(xié)調(diào)作業(yè)(Coordinator)是通過時間(頻率)和有效數(shù)據(jù)來觸發(fā)當(dāng)前的Oozie工作流。Oozie支持多種Hadoop作業(yè)(包括:HDFS,MapReduce,Hive,StreamingMR,Loader,Spark,Distcp)以及系統(tǒng)類作業(yè)(例如Java與Shell)。Oozie引擎介紹Oozie支持如下三種引擎:WorkflowEngine
工作流引擎:以Action的方式運行工作流Job,用來執(zhí)行Map/Reduce與Pig等Job。CoordinatorEngine
協(xié)調(diào)員引擎:基于時間和數(shù)據(jù)觸發(fā)器運行工作流(Workflow),它可以定時調(diào)度工作流(例如每隔一小時運行一次),也可以在數(shù)據(jù)可用的時候觸發(fā)工作流(例如等到輸入數(shù)據(jù)準(zhǔn)備好的情況下再啟動工作流)。BundleEngine
管道引擎:提供了更高級別的Oozie抽象,用戶可以批量設(shè)置Coordinator應(yīng)用,并且能夠啟動/停止/暫停/恢復(fù)/重新運行一組Coordinator應(yīng)用,從而提高易用性與靈活性。Oozie引擎介紹BundlesCoordinator1Coordinator2Workflow1Workflow2HiveSparkHDFSJAVA應(yīng)用場景Oozie是一個工作流調(diào)度引擎,對各種類型的Hadoop作業(yè)進(jìn)行編排與調(diào)度。主要應(yīng)用于以下幾種場景:編排與管理邏輯復(fù)雜的多種類型的Hadoop作業(yè),按照指定的順序協(xié)同運行,例如ETL任務(wù)。基于時間(頻率)觸發(fā)工作流,例如每天/小時執(zhí)行一次的重復(fù)任務(wù)或者指定時間執(zhí)行的任務(wù)?;跀?shù)據(jù)有效性觸發(fā)工作流,當(dāng)依賴的HDFS數(shù)據(jù)產(chǎn)生之后才觸發(fā)下一步動作,可用于數(shù)據(jù)管道處理。實時監(jiān)控與管理集群的工作流,快速定位問題;掌握集群的資源使用情況,并根據(jù)需要調(diào)整工作流的調(diào)度,最大化利用集群資源。Oozie產(chǎn)品定位FusionInsightHD提供大數(shù)據(jù)處理環(huán)境,基于社區(qū)開源軟件增強(qiáng),按照場景選擇業(yè)界最佳實踐。
Oozie(包括Hue上的Workflow與JobDesign)作為Porter的組件,它是HaDoop作業(yè)管理與調(diào)度系統(tǒng)。HIVEHDFS/HBaseM/RSparkFlum/Loader/Hue/OoziePorterMinerDataFarmHadoopStormSolr系統(tǒng)管理Farmer服務(wù)治理ManagerHadoopAPIPluginAPIOpenAPI/SDK應(yīng)用服務(wù)層REST/SNMP/SyslogDataInformationKnowledgeWisdomYarn/Zookeeper安全管理MPPDBOozie基本介紹Oozie架構(gòu)與原理關(guān)鍵特性介紹應(yīng)用舉例Oozie架構(gòu)Console提供對Oozie流程的查看和監(jiān)控功能。Client通過接口控制workflow流程:可以執(zhí)行提交流程,啟動流程,運行流程,終止流程,恢復(fù)流程等操作。Hue界面上的Workflow與JobDesign就屬于client范疇。SDK軟件開發(fā)工具包SDK(SoftwareDevelopmentKit)是被軟件工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合。DatabasePG數(shù)據(jù)庫,用于存儲作業(yè)信息。WebApp(Oozie)WebApp(Oozie)即Oozieserver,可以用內(nèi)置的Tomcat容器,也可以用外部的。記錄的信息比如日志等放在PG數(shù)據(jù)庫中。TomcatTomcat服務(wù)器是免費的開放源代碼的Web應(yīng)用服務(wù)器。HaDoop組件底層執(zhí)行Oozie編排流程的各個組件,包括MapReduce、Hive、Spark等。作業(yè)提交流程Hue或其他組件通過Oozie提供的Rest接口來訪問Oozie服務(wù)。Rest請求進(jìn)入OozieServer后,經(jīng)filter和servlet的識別,DagEngine將輸入轉(zhuǎn)化成MapReduce能識別的數(shù)據(jù),提交給MapReduce執(zhí)行?;驹碓?/p>
Oozie對工作流的編排,是基于workflow.xml文件來完成的。用戶預(yù)先將工作流執(zhí)行規(guī)則定制于workflow.xml文件中,并在perties配置上相關(guān)的參數(shù),然后由OozieServer向MR提交一個Job來啟動工作流。
Map-ReduceActionNode示例<actionname="myfirstHaDoopJob"><map-reduce><job-tracker>foo:9001</job-tracker><name-node>bar:9000</name-node><prepare><deletepath="hdfs://foo:9000/usr/tucu/output-data"/></prepare><job-xml>/myfirstjob.xml</job-xml><configuration><property><name>mapred.input.dir</name><value>/usr/tucu/input-data</value></property><property><name>mapred.output.dir</name><value>/usr/tucu/input-data</value></property><property><name>mapred.reduce.tasks</name><value>${firstJobReducers}</value></property><property>
map-reduce:action類型job-tracker:Mapreducejobtracker地址name-node:HDFSnamenode地址configuration:action需要的參數(shù)ok:標(biāo)注當(dāng)前action執(zhí)行成功后跳轉(zhuǎn)的下個節(jié)點error:標(biāo)注當(dāng)前action執(zhí)行失敗后跳轉(zhuǎn)的下一個節(jié)點接左側(cè)代碼:<name>oozie.action.external.stats.write</name><value>true</value></property></configuration></map-reduce><okto="myNextAction"/><errorto="errorCleanup"/></action>JavaActionNode示例<actionname="myfirstjavajob"><java><job-tracker>foo:9001</job-tracker><name-node>bar:9000</name-node><prepare><deletepath="${jobOutput}"/></prepare><configuration><property><name></name><value>default</value></property></configuration><main-class>org.apache.oozie.MyFirstMainClass</main-class><java-opts>-Dblah</java-opts><arg>argument1</arg><arg>argument2</arg></java><okto="myotherjob"/><errorto="errorcleanup"/></action>java:action類型job-tracker:Mapreducejobtracker地址name-node:HDFSnamenode地址configuration:action需要的參數(shù)main-class:main函數(shù)入口ok:標(biāo)注當(dāng)前action執(zhí)行成功后跳轉(zhuǎn)的下個節(jié)點error:標(biāo)注當(dāng)前action執(zhí)行失敗后跳轉(zhuǎn)的下個節(jié)點HiveActionNode示例<actionname="myfirsthivejob"><hivexmlns="uri:oozie:hive-action:0.2"><job-traker>foo:9001</job-tracker><name-node>bar:9000</name-node><prepare><deletepath="${jobOutput}"/></prepare><configuration><property><name></name><value>default</value></property</configuration><script>myscript.q</script><param>InputDir=/home/tucu/input-data</param>hive:action類型job-tracker:Mapreducejobtracker地址name-node:HDFSnamenode地址configuration:action需要的參數(shù)script:執(zhí)行的sql文件ok:標(biāo)注當(dāng)前action執(zhí)行成功后跳轉(zhuǎn)的下一個節(jié)點error:標(biāo)注當(dāng)前action執(zhí)行失敗后跳轉(zhuǎn)的下個節(jié)點接左側(cè)代碼:<param>OutputDir=${jobOutput}</param></hive><okto="myotherjob"/><errorto="errorcleanup"/></action>流程編排舉例<workflow-appxmlns="uri:oozie:workflow:0.2"name="wf"><startto="first"/><actionname="first"><map-reduce>...</map-reduce><okto="second"/><errorto="fail"/></action><actionname="second"><java>...</java><okto="end"/><errorto="fail"/></action><killname="fail"><message>Map/Reducefailed,errormessage[${wf:errorMessage(wf:lastErrorNode())}]</message></kill><endname="end"/></workflow-app>左側(cè)為流程編排的一個示例。工作流是從start節(jié)點開始的,由start進(jìn)入first,執(zhí)行map-reduce
action計算,執(zhí)行成功則進(jìn)入second,失敗則進(jìn)入kill節(jié)點,fail并打印錯誤信息。Second執(zhí)行成功后,進(jìn)入end節(jié)點,表示流程結(jié)束。Oozie使用HPDL來構(gòu)造工作流,只有當(dāng)上一個節(jié)點執(zhí)行完成,才會進(jìn)入下一個節(jié)點。所有“ActionNodes”均以有向無環(huán)圖(DAGDirectAcyclicGraph)的模式部署,不存在閉環(huán)流程。Oozie基本介紹Oozie架構(gòu)與原理關(guān)鍵特性介紹應(yīng)用舉例通過可視化界面對如下幾種作業(yè)類型進(jìn)行拖拽式工作流編排:Hive、Spark、Java、Loader、MapReduce、Shell、Ssh、HDFS、Distcp、Streaming-MR。工作流編排通過可視化界面對如下幾種作業(yè)類型進(jìn)行作業(yè)設(shè)計:MapReduce,Java,Streaming-MR,HDFS,SSH,Shell,Distcp。作業(yè)設(shè)計Coordinator調(diào)度工作流,可指定時間范圍,調(diào)用頻率;Bundles可以批量管理一組Coordinator。工作流調(diào)度監(jiān)控作業(yè)的執(zhí)行狀態(tài),查看運行日志,作業(yè)配置等。作業(yè)監(jiān)控按照不同的項目對保存的工作流或作業(yè)設(shè)計進(jìn)行分類;并且可以共享給其他用戶。項目分類與共享Oozie其他特性說明訪問方式多樣化提供可視化作業(yè)管理的同時Oozie也提供Rest接口與Shell接口,方便與第三方對接。查看Oozie配置提供可視化界面查看Oozie配置。操作方式多樣化對作業(yè),工作流、定時調(diào)度,批量調(diào)度的啟動,暫停,停止,恢復(fù),查看等操作,提高易用性與靈活性。Oozie增強(qiáng)特性安全增強(qiáng)支持Oozie權(quán)限管理,提供管理員與普通用戶兩種角色。支持單點登錄登出,HTTPS方式訪問以及審計日志??煽啃栽鰪?qiáng)支持OozieHA??删S護(hù)性增強(qiáng)支持告警,日志壓縮,健康檢查。Oozie基本介紹Oozie架構(gòu)與原理關(guān)鍵特性介紹應(yīng)用舉例命令行提交作業(yè)需要先下載FusionInsight的客戶端,并且先將工作流需要的文件(例如Workflow.xml,perties,以及依賴的jar包等)上傳至HDFS指定目錄,同時每次本地配置項發(fā)生更新時,需要同步更新HDFS上的文件。命令行示例:hdfsdfs-mkdir/user/admin//在HDFS上創(chuàng)建用戶工作目錄hdfsdfs-put-f/opt/client/Oozie/oozie-client-4.2.0/examples/user/admin///上傳工作流需要的配置文件與jar包到工作目錄hdfsdfs-put-f/opt/client/Oozie/oozie-client-4.2.0/share/lib/user/oozie/share///上傳公共jar包ooziejob-oozie-configperties–run//提交工作流Hue(UI)提交作業(yè)
在Hue上的Workflow編輯器中編輯工作流,點擊提交按鈕即可。應(yīng)用舉例
例如,有這樣一個需求,某個業(yè)務(wù)系統(tǒng)每天產(chǎn)生20G的原始數(shù)據(jù),我們每天都要對其進(jìn)行處理,處理步驟如下:先將原始數(shù)據(jù)同步到HDFS上(Loader
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZGXK 024-2024 青儲玉米品種試驗規(guī)范
- 二零二五年度企業(yè)代為管理員工社保繳費及報銷流程合同
- 二零二五年度購房按揭貸款利率調(diào)整合同
- 2025年度酒店入住智能家居體驗合同
- 2025年度汽車零部件訂車合同違約賠償標(biāo)準(zhǔn)及責(zé)任界定
- 二零二五年度公寓樓出租合同樣本(含精裝修、家具家電及物業(yè)費)
- 二零二五年度醫(yī)院藥劑科藥品配送與勞務(wù)合作合同
- 二零二五年度臨時項目經(jīng)理聘用與項目風(fēng)險預(yù)警協(xié)議
- 二零二五年度租賃型住房委托管理服務(wù)合同
- 二零二五年度旅游產(chǎn)業(yè)投資合作框架協(xié)議
- 500-3000總噸船舶大副培訓(xùn)大綱(2021版)
- 2024至2030年中國錢幣類收藏品行業(yè)市場前景調(diào)查及投融資戰(zhàn)略研究報告
- 三級安全培訓(xùn)考試題附參考答案(滿分必刷)
- 高一英語完形填空專項訓(xùn)練100(附答案)及解析
- 機(jī)房基礎(chǔ)設(shè)施運行維護(hù)管理標(biāo)準(zhǔn)規(guī)范
- 老年心房顫動診治中國專家共識(2024)解讀
- 部編版八年級上冊歷史期中復(fù)習(xí)重點總結(jié)
- 2024年揚州市職業(yè)大學(xué)單招職業(yè)適應(yīng)性測試題庫1套
- 消防安全技術(shù)綜合能力要點概述
- DL-T 5148-2021水工建筑物水泥灌漿施工技術(shù)條件-PDF解密
- 道路施工安全隱患及防范措施
評論
0/150
提交評論