閱識風雲是華為雲信息大咖,擅長將複雜信息多元化呈現,其出品的一張圖(雲圖說)、深入淺出的博文(雲小課)或短視頻(雲視廳)總有一款能讓您快速上手華為雲。更多精彩內容請單擊此處。 摘要:Oozie是一個基於工作流引擎的開源框架,它能夠提供對Hadoop作業的任務調度與協調。Oozie是一個工作流引擎服務 ...
閱識風雲是華為雲信息大咖,擅長將複雜信息多元化呈現,其出品的一張圖(雲圖說)、深入淺出的博文(雲小課)或短視頻(雲視廳)總有一款能讓您快速上手華為雲。更多精彩內容請單擊此處。
摘要:Oozie是一個基於工作流引擎的開源框架,它能夠提供對Hadoop作業的任務調度與協調。Oozie是一個工作流引擎伺服器,用於運行MapReduce任務工作流。同時Oozie還是一個Java Web程式,運行在Tomcat容器中。
本文分享自華為雲社區《【雲小課】EI第41課 MRS基礎原理之Oozie任務調度》,作者: Hello EI。
Oozie是一個基於工作流引擎的開源框架,它能夠提供對Hadoop作業的任務調度與協調。
Oozie是一個工作流引擎伺服器,用於運行MapReduce任務工作流。同時Oozie還是一個Java Web程式,運行在Tomcat容器中。
Oozie工作流通過HPDL(一種通過XML自定義處理的語言,類似JBOSS JBPM的JPDL)來構造。包含“Control Node”(可控制的工作流節點)、“Action Node”。
“Control Node”用於控制工作流的編排,如“start”(開始)、“end”(關閉)、“error”(異常場景)、“decision”(選擇)、“fork”(並行)、“join”(合併)等。
Oozie工作流中擁有多個“Action Node”,如MapReuce、Java等。
所有的“Action Node”以有向無環圖DAG(Direct Acyclic Graph)的模式部署運行。所以在“Action Node”的運行步驟上是有方向的,當上一個“Action Node”運行完成後才能運行下一個“Action Node”。一旦當前“Action Node”完成,遠程伺服器將回調Oozie的介面,這時Oozie又會以同樣的方式執行工作流中的下一個“Action Node”,直到工作流中所有“Action Node”都完成(完成包括失敗)。
Oozie工作流提供各種類型的“Action Node”用於支持不同的業務需要,如MapReduce,HDFS,SSH,Java以及Oozie子流程。
如何使用Oozie
購買包含有Oozie組件的MRS集群後,用戶即可使用Oozie進行作業提交及調度。
MRS集群的創建可參考MRS快速入門中的“創建集群”章節,例如購買MRS 3.1.0普通模式(關閉Kerberos認證)集群。
Oozie客戶端的安裝可以參考MRS用戶指南的“安裝客戶端”章節,例如客戶端安裝目錄為:“/opt/client”。
1.以客戶端安裝用戶,登錄安裝客戶端的節點。
2.執行以下命令,切換到客戶端安裝目錄。
cd /opt/client
source bigdata_env
3.上傳Oozie配置文件以及Jar包至HDFS(UserOozie為提交任務的用戶名)。
hdfs dfs -mkdir /user/UserOozie
hdfs dfs -put -f /opt/client/Oozie/oozie-client-*/examples /user/UserOozie/
4.修改任務執行配置文件:
cd /opt/client/Oozie/oozie-client-*/examples/apps/map-reduce/ vi job.properties nameNode=hdfs://hacluster resourceManager=Yarn ResourceManager主節點IP地址:埠 ##埠可通過“yarn.resourcemanager.port”參數查詢,例如8032。 queueName=default examplesRoot=examples user.name=admin oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/map-reduce #hdfs上傳路徑 outputDir=map-reduce oozie.wf.rerun.failnodes=true
5.運行oozie任務:
oozie job -oozie https://oozie角色的主機名:21003/oozie/ -config job.properties -run [root@kwephispra44947 map-reduce]# oozie job -oozie https://kwephispra44948:21003/oozie/ -config job.properties -run ...... job: 0000000-200730163829770-oozie-omm-W
6.登錄FusionInsight Manager,選擇“集群 > 服務 > Oozie ”。
7.單擊“oozie WebUI”後的超鏈接進入Oozie頁面,在Oozie的WebUI上查看任務運行結果。
關於Ooize應用開發及相關樣例代碼介紹,請參考《Oozie開髮指南》。
好了,本期雲小課就介紹到這裡,快去體驗MapReduce(MRS)更多功能吧!猛戳這裡