用戶可將自己開發的程序提交到MRS中,執行程序并獲取結果。本章節指導您在MRS集群頁面如何提交一個新的MapReduce作業。MapReduce作業用于提交jar程序快速并行處理大量數據,是一種分布式數據處理模式和執行環境。
若在集群詳情頁面不支持“作業管理”和“文件管理”功能,請通過后臺功能來提交作業。
前提條件
用戶已經將運行作業所需的程序包和數據文件上傳至OBS系統或HDFS中。
如果用戶將程序包和數據文件上傳至OBS中,需要先創建OBS委托并與MRS集群綁定,具體請參考配置存算分離集群(委托方式)。
通過界面提交作業
1.登錄MRS管理控制臺。
2.選擇“集群列表 > 現有集群”,選中一個運行中的集群并單擊集群名稱,進入集群信息頁面。
3.若集群開啟Kerberos認證時執行該步驟,若集群未開啟Kerberos認證,請無需執行該步驟。
在“概覽”頁簽的基本信息區域,單擊“IAM用戶同步”右側的“同步”進行IAM用戶同步。
說明
當IAM用戶的用戶組的所屬策略從MRS ReadOnlyAccess向MRS CommonOperations、MRS FullAccess、MRS Administrator變化時,由于集群節點的SSSD(System Security Services Daemon)緩存刷新需要時間,因此同步完成后,請等待5分鐘,等待新修改策略生效之后,再進行提交作業。否則,會出現提交作業失敗的情況。
當IAM用戶的用戶組的所屬策略從MRS CommonOperations、MRS FullAccess、MRS Administrator向MRS ReadOnlyAccess變化時,由于集群節點的SSSD緩存刷新需要時間,因此同步完成后,請等待5分鐘,新修改策略才能生效。
4.單擊“作業管理”,進入“作業管理”頁簽。
5.單擊“添加”,進入“添加作業”頁面。
6.“作業類型”選擇“MapReduce”,并配置其他作業信息。
作業配置信息
| 參數 | 參數說明 |
|---|---|
| 作業名稱 | 作業名稱,只能由字母、數字、中劃線和下劃線組成,并且長度為1~64個字符。 說明 建議不同的作業設置不同的名稱。 |
| 執行程序路徑 | 待執行程序包地址,需要滿足如下要求: 最多為1023字符,不能包含;l&>,<'$特殊字符,且不可為空或全空格。 執行程序路徑可存儲于HDFS或者OBS中,不同的文件系統對應的路徑存在差異。 - OBS:以“obs://”開頭。示例: obs://wordcount/program/xxx.jar。 - HDFS:以“/user”開頭。數據導入HDFS請參考導入導出數據章節中的“導入數據”。 SparkScript和HiveScript需要以“.sql”結尾,MapReduce需要以“.jar”結尾,Flink和SparkSubmit需要以“.jar”或“.py”結尾。sql、jar、py不區分大小寫。 |
| 執行程序參數 | 可選參數,程序執行的關鍵參數。多個參數間使用空格隔開。 配置方法:程序類名、數據輸入路徑、數據輸出路徑 程序類名:由用戶程序內的函數指定,MRS只負責參數的傳入。 數據輸入路徑:通過單擊“HDFS”或者“OBS”選擇或者直接手動輸入正確路徑。 數據輸出路徑:輸出路徑請手動輸入一個不存在的目錄。 最多為150000字符,不能包含;l&><'$特殊字符,可為空。 注意 若輸入帶有敏感信息(如登錄密碼)的參數可能在作業詳情展示和日志打印中存在暴露的風險,請謹慎操作。 |
| 服務配置參數 | 可選參數,用于為本次執行的作業修改服務配置參數。該參數的修改僅適用于本次執行的作業,如需對集群永久生效,請參考配置服務參數頁面進行修改。 如需添加多個參數,請單擊右側 ![]() 增加,如需刪除參數,請單擊右側“刪除”。常用服務配置參數如下方“服務配置參數”表格所示。 |
| 命令參考 | 用于展示提交作業時提交到后臺執行的命令。 |
服務配置參數
| 參數 | 參數說明 | 取值樣例 |
|---|---|---|
| fs.obs.access.key | 訪問OBS的密鑰ID。 | - |
| fs.obs.secret.key | 訪問OBS與密鑰ID對應的密鑰。 | - |
7.確認作業配置信息,單擊“確定”,完成作業的新增。
作業新增完成后,可對作業進行管理。
通過后臺提交作業
MRS 3.x及之后版本客戶端默認安裝路徑為“/opt/Bigdata/client”,MRS 3.x之前版本為“/opt/client”。具體以實際為準。
1.登錄MRS管理控制臺。
2.選擇“集群列表 > 現有集群”,選中一個運行中的集群并單擊集群名稱,進入集群信息頁面。
3.在“節點管理”頁簽中單擊某一Master節點名稱,進入彈性云主機管理控制臺。
4.單擊頁面右上角的“遠程登錄”。
5.根據界面提示,輸入Master節點的用戶名和密碼,用戶名、密碼分別為root和創建集群時設置的密碼。
6.執行如下命令初始化環境變量。
source /opt/Bigdata/client/bigdata_env
7.如果當前集群已開啟Kerberos認證,執行以下命令認證當前用戶。如果當前集群未開啟Kerberos認證,則無需執行該步驟。
kinit MRS集群用戶
例如, kinit admin
8.執行如下命令拷貝OBS文件系統中的程序到集群的Master節點。
hadoop fs -Dfs.obs.access.key=AK -Dfs.obs.secret.key=SK -copyToLocal source_path.jar
target_path.jar
例如:hadoop fs -Dfs.obs.access.key=XXXX-Dfs.obs.secret.key=XXXX -copyToLocal "obs://mrs-word/program/hadoop-mapreduce-examples-XXX.jar" "/home/omm/hadoop-mapreduce-examples-XXX.jar"
AK/SK可登錄OBS控制臺,請在集群控制臺頁面右上角的用戶名下拉框中選擇“我的憑證 > 訪問密鑰”頁面獲取。
9.執行如下命令提交wordcount作業,如需從OBS讀取或向OBS輸出數據,需要增加AK/SK參數。
source /opt/Bigdata/client/bigdata_env;hadoop jar execute_jar wordcount input_path output_path
例如:source /opt/Bigdata/client/bigdata_env;hadoop jar/home/omm/hadoop-mapreduce-examples-XXX.jar wordcount -Dfs.obs.access.key=XXXX-Dfs.obs.secret.key=XXXX "obs://mrs-word/input/""obs://mrs-word/output/"
input_path為OBS上存放作業輸入文件的路徑。output_path為OBS上存放作業輸出文件地址,請設置為一個不存在的目錄。

增加,如需刪除參數,請單擊右側“刪除”。