System.setProperty("HADOOP_USER_NAME", "root");
MR執(zhí)行環(huán)境有兩種:本地測試環(huán)境,服務(wù)器環(huán)境
本地測試環(huán)境(windows):
在windows的hadoop目錄bin目錄有一個winutils.exe
1匣砖、在windows下配置hadoop的環(huán)境變量
2瓣距、拷貝debug工具(winutils.ext)到HADOOP_HOME/bin
3聚磺、修改hadoop的源碼 鹃栽,注意:確保項目的lib需要真實安裝的jdk的lib
4穿扳、MR調(diào)用的代碼需要改變:
a谱姓、src不能有服務(wù)器的hadoop配置文件
b借尿、在調(diào)用是使用:
Configuration config = new ?Configuration();
config.set("fs.defaultFS", "hdfs://node1:8020");? ? ?//nameNode節(jié)點
config.set("yarn.resourcemanager.hostname", "node1");? ? ?//resourceManager節(jié)點
服務(wù)器環(huán)境:
首先需要在src下放置服務(wù)器上的hadoop配置文件
1、在本地直接調(diào)用屉来,執(zhí)行過程在服務(wù)器上(真正企業(yè)運行環(huán)境)
a路翻、把MR程序打包(jar),直接放到本地
b茄靠、修改hadoop的源碼 茂契,注意:確保項目的lib需要真實安裝的jdk的lib
c、增加一個屬性:
config.set("mapred.jar", "E:\\ROOT\\ROOT.jar");
d慨绳、本地執(zhí)行main方法掉冶,servlet調(diào)用MR真竖。
2、直接在服務(wù)器上厌小,使用命令的方式調(diào)用恢共,執(zhí)行過程也在服務(wù)器上
a、把MR程序打包(jar)璧亚,傳送到服務(wù)器上
b讨韭、通過: hadoop jar jar路徑 ?類的全限定名