閱讀180 返回首頁    go 人物


Hadoop MapReduce 作業配置__作業_用戶指南_E-MapReduce-阿裏雲

  1. 登錄阿裏雲 E-MapReduce 控製台作業列表

  2. 單擊該頁右上角的創建作業,進入創建作業頁麵。

  3. 填寫作業名稱。

  4. 選擇 Hadoop 作業類型。表示創建的作業是一個 Hadoop Mapreduce 作業。這種類型的作業,其後台實際上是通過以下的方式提交的 Hadoop 作業。

    1. hadoop jar xxx.jar [MainClass] -Dxxx ....
  5. 應用參數中填寫提交該 job 需要提供的命令行參數。這裏需要說明的是,這個選項框中需要填寫的內容從 hadoop jar 後麵的第一個參數開始填寫。也就是說,選項框中第一個要填寫的是運行該作業需要提供的 jar 包所在地址,然後後麵緊跟 [MainClass] 以及其他用戶可以自行提供的命令行參數。

    舉個例子,假設用戶想要提交一個 Hadoop 的 sleep job,該 jo b不讀寫任何數據,隻是提交一些 mapper 和 reducer task 到集群中,每個 task sleep 一段時間,然後 job 成功。在 Hadoop 中(hadoop-2.6.0 為例)以,該 job 被打包在 Hadoop 發行版的 hadoop-mapreduce-client-jobclient-2.6.0-tests.jar 中。那麼,若是在命令行中提交該 job,則命令如下:

    1. hadoop jar /path/to/hadoop-mapreduce-client-jobclient-2.6.0-tests.jar sleep -m 3 -r 3 -mt 100 -rt 100

    要在 E-MapReduce 中配置這個作業,那麼作業配置頁麵的“應用參數”選項框中,需要填寫的內容即為:

    1. /path/to/hadoop-mapreduce-client-jobclient-2.6.0-tests.jar sleep -m 3 -r 3 -mt 100 -rt 100

    需要注意的是,這裏用的 jar 包路徑是 E-MapReduce 宿主機上的一個絕對路徑,這種方式有一個問題,就是用戶可能會將這些 jar 包放置在任何位置,而且隨著集群的創建和釋放,這些 jar 包也會跟著釋放而變得不可用。所以,請使用以下方法:

    1. 用戶將自己的 jar 包上傳到 OSS 的 bucket 中進行存儲,當配置 Hadoop 的參數時,單擊選擇 OSS 路徑,從 OSS 目錄中進行選擇要執行的 jar 包。係統會為用戶自動補齊 jar 包所在的 OSS 地址。請務必將代碼的 jar 的前綴切換為 ossref (單擊切換資源類型),以保證這個 jar 包會被 E-MapReduce 正確下載。

    2. 單擊確定,該 jar 包所在的 OSS 路徑地址就會自動填充到“應用參數”選項框中。作業提交的時候,係統能夠根據這個路徑地址自動從 OSS 找到相應的 jar 包。

    3. 在該 OSS 的 jar 包路徑後麵,即可進一步填寫作業運行的其他命令行參數。

  6. 選擇執行失敗後策略。

  7. 單擊確認,作業配置即定義完成。

上麵的例子中,sleep job 並沒有數據的輸入輸出,如果作業要讀取數據,並輸出處理結果(比如 wordcount),則需要指定數據的 input 路徑和 output 路徑。用戶可以讀寫 E-MapReduce 集群 HDFS 上的數據,同樣也可以讀寫 OSS 上的數據。如果需要讀寫 OSS 上的數據,隻需要在填寫 input 路徑和 output 路徑時,數據路徑寫成 OSS 上的路徑地址即可,例如:

  1. jar ossref://emr/checklist/jars/chengtao/hadoop/hadoop-mapreduce-examples-2.6.0.jar randomtextwriter -D mapreduce.randomtextwriter.totalbytes=320000 oss://emr/checklist/data/chengtao/hadoop/Wordcount/Input

最後更新:2016-11-23 16:03:59

  上一篇:go 集群續費__集群_用戶指南_E-MapReduce-阿裏雲
  下一篇:go Hive 作業配置__作業_用戶指南_E-MapReduce-阿裏雲