閱讀636 返回首頁    go 阿裏雲


Oozie 使用說明__開源組件介紹_用戶指南_E-MapReduce-阿裏雲

版本信息

阿裏雲 E-MapReduce 在 2.0.0 及之後的版本中提供了對 Oozie 的支持,如果需要在集群中使用 Oozie,請確認集群的版本不低於 2.0.0。

準備工作

在集群建立出來之後,需要打通 ssh 隧道,詳細步驟請參考:https://help.aliyun.com/document_detail/28187.html

這裏以 MAC 環境為例,使用 Chrome 瀏覽器實現端口轉發(假設集群 master 節點公網 IP 為 xx.xx.xx.xx):

  1. 登錄到 master 節點。

    1. ssh root@xx.xx.xx.xx
  2. 輸入密碼。

  3. 查看本機的 id_rsa.pub 內容(注意在本機執行,不要在遠程的 master 節點上執行)。

    1. cat ~/.ssh/id_rsa.pub
  4. 將本機的 id_rsa.pub 內容寫入到遠程 master 節點的 ~/.ssh/authorized_keys 中(在遠端 master 節點上執行)。

    1. mkdir ~/.ssh/
    2. vim ~/.ssh/authorized_keys
  5. 然後將步驟 2 中看到的內容粘貼進來,現在應該可以直接使用 ssh root@xx.xx.xx.xx 免密登錄 master 節點了。

  6. 在本機執行以下命令進行端口轉發。

    1. ssh -i ~/.ssh/id_rsa -ND 8157 root@xx.xx.xx.xx
  7. 啟動 Chrome(在本機新開 terminal 執行)。
  1. /Applications/Google Chrome.app/Contents/MacOS/Google Chrome --proxy-server="socks5://localhost:8157" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost" --user-data-dir=/tmp

訪問 Oozie UI 頁麵

在進行端口轉發的 Chrome 瀏覽器中訪問:xx.xx.xx.xx:11000/oozielocalhost:11000/oozie 或者內網 ip:11000/oozie

提交workflow作業

運行 Oozie 需要先安裝 Oozie 的sharelib:https://oozie.apache.org/docs/4.2.0/WorkflowFunctionalSpec.html#ShareLib

在 E-MapReduce 集群中,默認給 Oozie 用戶安裝了 sharelib,即如果使用 Oozie 用戶來提交 workflow 作業,則不需要再進行 sharelib 的安裝。

由於開啟 HA的集群和沒有開啟 HA 的集群,訪問 NameNode 和 ResourceManager 的方式不同,在提交 oozie workflow job 的時候,job.properties 文件中需要指定不同的 NameNode 和 JobTracker (ResourceManager)。具體如下:

  • 非 HA 集群

    1. nameNode=hdfs://localhost:9000
    2. jobTracker=localhost:8032
  • HA 集群

    1. nameNode=hdfs://emr-cluster
    2. jobTracker=rm1,rm2

下麵操作示例中,已經針對是否是 HA 集群配置好了,即樣例代碼不需要任何修改即可以直接運行。關於 workflow 文件的具體格式,請參考 Oozie 官方文檔:https://oozie.apache.org/docs/4.2.0/。

在非 HA 集群上提交 workflow 作業

  1. 登錄集群的主 master 節點。

    1. ssh root@master公網Ip
  2. 下載示例代碼。

    1. [root@emr-header-1 ~]# su oozie
    2. [oozie@emr-header-1 root]$ cd /tmp
    3. [oozie@emr-header-1 tmp]$ wget https://emr-sample-projects.oss-cn-hangzhou.aliyuncs.com/oozie-examples/oozie-examples.zip
    4. [oozie@emr-header-1 tmp]$ unzip oozie-examples.zip
  3. 將 Oozie workflow 代碼同步到 hdfs 上。

    1. [oozie@emr-header-1 tmp]$ hadoop fs -copyFromLocal examples/ /user/oozie/examples
  4. 提交 Oozie workflow 樣例作業。

    1. [oozie@emr-header-1 tmp]$ $OOZIE_HOME/bin/oozie job -config examples/apps/map-reduce/job.properties -run

    執行成功之後,會返回一個 jobId,類似:

    1. job: 0000000-160627195651086-oozie-oozi-W
  5. 訪問 Oozie UI 頁麵,可以看到剛剛提交的 Oozie workflow job。

在 HA 集群上提交 workflow 作業

  1. 登錄 HA 集群的主 master 節點。

    1. ssh root@主master公網Ip

    可以通過是否能訪問 Oozie UI 來判斷哪個 master 節點是當前的主 master 節點, Oozie server 服務默認是啟動在主 master 節點 xx.xx.xx.xx:11000/oozie

  2. 下載 HA 集群的示例代碼。

    1. [root@emr-header-1 ~]# su oozie
    2. [oozie@emr-header-1 root]$ cd /tmp
    3. [oozie@emr-header-1 tmp]$ wget https://emr-sample-projects.oss-cn-hangzhou.aliyuncs.com/oozie-examples/oozie-examples-ha.zip
    4. [oozie@emr-header-1 tmp]$ unzip oozie-examples-ha.zip
  3. 將 Oozie workflow 代碼同步到 hdfs 上。

    1. [oozie@emr-header-1 tmp]$ hadoop fs -copyFromLocal examples/ /user/oozie/examples
  4. 提交 Oozie workflow 樣例作業。

    1. [oozie@emr-header-1 tmp]$ $OOZIE_HOME/bin/oozie job -config examples/apps/map-reduce/job.properties -run

    執行成功之後,會返回一個 jobId,類似:

    1. job: 0000000-160627195651086-oozie-oozi-W
  5. 訪問 Oozie UI 頁麵,可以看到剛剛提交的 Oozie workflow job。

最後更新:2016-11-23 16:04:13

  上一篇:go Hue 使用說明__開源組件介紹_用戶指南_E-MapReduce-阿裏雲
  下一篇:go Presto 使用說明__開源組件介紹_用戶指南_E-MapReduce-阿裏雲