天天看點

雲小課|MRS基礎原理之Oozie任務排程

作者:華為雲開發者聯盟
本文分享自華為雲社群《【雲小課】EI第41課 MRS基礎原理之Oozie任務排程》,作者: Hello EI。
雲小課|MRS基礎原理之Oozie任務排程

Oozie是一個基于工作流引擎的開源架構,它能夠提供對Hadoop作業的任務排程與協調。

Oozie是一個工作流引擎伺服器,用于運作MapReduce任務工作流。同時Oozie還是一個Java Web程式,運作在Tomcat容器中。

雲小課|MRS基礎原理之Oozie任務排程

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”都完成(完成包括失敗)。
雲小課|MRS基礎原理之Oozie任務排程
雲小課|MRS基礎原理之Oozie任務排程

Oozie工作流提供各種類型的“Action Node”用于支援不同的業務需要,如MapReduce,HDFS,SSH,Java以及Oozie子流程。

如何使用Oozie

購買包含有Oozie元件的MRS叢集後,使用者即可使用Oozie進行作業送出及排程。

MRS叢集的建立可參考建立叢集,例如購買一個MRS 3.1.0普通模式(關閉Kerberos認證)叢集。

Oozie用戶端的安裝可以參考安裝用戶端,例如用戶端安裝目錄為:“/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.propertiesnameNode=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://host44948: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)更多功能吧!(https://support.huaweicloud.com/mrs/index.html?utm_source=jinritoutiao&utm_medium=ruanwen&utm_campaign=mrsindex&utm_content=yunxiaoke&utm_term=EI-041)

關注我,第一時間了解華為雲新鮮技術~

繼續閱讀