1、MR執行環境有兩種:本地測試環境,服務器環境
本地測試環境(windows):
在windows的hadoop目錄bin目錄有一個winutils.exe
1、在windows下配置hadoop的環境變量
2、拷貝debug工具(winutils.exe)到HADOOP_HOME/bin
3、修改hadoop的源碼 ,注意:確保項目的lib需要真實安裝的jdk的lib
4、MR調用的代碼需要改變:
a、src不能有服務器的hadoop配置文件
b、在調用是使用:
Configuration config = new Configuration();
config.set("fs.defaultFS", "hdfs://node7:8020");
服務器環境:
首先需要在src下放置服務器上的hadoop配置文件
1、在本地直接調用,執行過程在服務器上(真正企業運行環境)
a、把MR程序打包(jar),直接放到本地
b、修改hadoop的源碼 ,注意:確保項目的lib需要真實安裝的jdk的lib
c、增加一個屬性:
config.set("mapred.jar", "C:\\Users\\Administrator\\Desktop\\wc.jar");
d、本地執行main方法,servlet調用MR。
2、直接在服務器上,使用命令的方式調用,執行過程也在服務器上
a、把MR程序打包(jar),傳送到服務器上
b、通過: hadoop jar jar路徑 類的全限定名
a,1 b,1
a,3 c,3
a,2 d,2
a,2 d,2
a,1 b,1