亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

0588-6.1.0-命令行動態指定MapReduce運行參數無效的問題分析

發布時間:2021-11-11 16:58:40 來源:億速云 閱讀:153 作者:柒染 欄目:大數據

這期內容當中小編將會給大家帶來有關0588-6.1.0-命令行動態指定MapReduce運行參數無效的問題分析,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1

文檔編寫目的

在本地完成MapReduce程序的開發后,打包提交到服務器上,然后在命令行使用hadoop jar命令運行,并在運行時動態的指定參數(如:Map和Reduce的內、資源池等參數)。通過在命令行添加“-D mapreduce.job.queuename=資源池名”的方式來指定。本篇文章Fayson主要講述動態指定MapReduce作業參數無效問題分析。

2

問題描述

Cloudera Manager上資源池放置規則如下:放置規則第一條指定的池不存在時,則自動創建。

0588-6.1.0-命令行動態指定MapReduce運行參數無效的問題分析

在命令行執行如下命令,指定作業到root.test資源池下:

hadoop jar xxx.jar -D mapreduce.job.queuename=root.test

0588-6.1.0-命令行動態指定MapReduce運行參數無效的問題分析

通過上圖可以看到,MapReduce作業并未運行在指定的資源池。

3

問題分析

在同一用戶下,執行了Hadoop自帶的jar,使用同樣的方式動態指定資源池,發現任務跑在了指定的資源池下

0588-6.1.0-命令行動態指定MapReduce運行參數無效的問題分析

經上述測試推測可能是自己開發的MapReduce代碼的問題,通過對比Hadoop自帶的示例代碼發現,Hadoop的示例代碼中繼承了Configured類并實現了Tool接口。而自己寫的MapReduce代碼如下未繼承和實現Hadoop的類。

0588-6.1.0-命令行動態指定MapReduce運行參數無效的問題分析

4

問題解決

在MapReduce代碼中添加Configured類的繼承并實現了Tool接口。修改后的代碼如下:

0588-6.1.0-命令行動態指定MapReduce運行參數無效的問題分析

修改啟動類后,再將程序重新打包,運行時指定參數如下:

0588-6.1.0-命令行動態指定MapReduce運行參數無效的問題分析

發現任務成功運行在指定的資源池下:

0588-6.1.0-命令行動態指定MapReduce運行參數無效的問題分析

關于ToolRunner接口的說明:

為什么實現Tool后,動態參數就能生效呢?說到Tool,就不得不提到一個類GenericOptionsParser。該類是Hadoop框架中解析命令行參數的基本類。它能夠解析命令行參數,讓程序運行時能夠動態的指定一些資源上的配置。在上面的代碼中可以看到,在main方法中調用了ToolRunner類的run方法。ToolRunner類中的run方法內使用了GenericOptionsParser類來解析命令行參數,最終ToolRunner類的run方法里調用的還是MrDriver類中重寫的run方法。見下圖源碼:

0588-6.1.0-命令行動態指定MapReduce運行參數無效的問題分析

0588-6.1.0-命令行動態指定MapReduce運行參數無效的問題分析

ToolRunner.run方法的參數中看到,傳入的tool參數就是我們自己編寫的MrDriver類,所以ToolRunner類最終調用了我們自己重寫的run方法,并且通過GenericOptionsParser解析命令行參數后將解析的參數Set到Configuration對象中,最終調用MrDriver.run方法實現作業運行參數的動態指定。

5

總結

1.在寫MapReduce程序時,應繼承Configured類并實現Tool接口,這樣在運行jar包時可以動態的指定參數,比在代碼中硬編碼要靈活很多。

2.當有的參數需要修改時,也不用重新對代碼進行打包、編譯、部署等操作。

3.不單是資源池相關參數的指定,實現Tool后,配置文件中的其他參數也可以在命令行動態的指定,但一定要注意配置參數不能寫錯否則不生效。

上述就是小編為大家分享的0588-6.1.0-命令行動態指定MapReduce運行參數無效的問題分析了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

柯坪县| 皮山县| 乌拉特中旗| 古浪县| 沙洋县| 平利县| 岚皋县| 错那县| 清远市| 冷水江市| 宁远县| 兰溪市| 周宁县| 上思县| 民县| 呼和浩特市| 卢湾区| 苗栗县| 定陶县| 泾川县| 嘉定区| 汤阴县| 延长县| 额尔古纳市| 都江堰市| 紫云| 松江区| 蒙阴县| 永定县| 阳江市| 丰都县| 衡东县| 万源市| 丹寨县| 合川市| 莲花县| 扎赉特旗| 喀什市| 定日县| 平江县| 滦平县|