1. 程式人生 > >MapReduce的兩種執行環境:本地測試環境,伺服器環境

MapReduce的兩種執行環境:本地測試環境,伺服器環境

本地測試環境(windows):
1、在windows下配置hadoop的環境變數
2、拷貝debug工具(winutils.exe)到hadoop目錄中的bin目錄,注意winutils.exe的版本要與hadoop版本對應,否則可能會報錯。
3、修改hadoop的原始碼 ,注意:確保專案的lib需要真實安裝的jdk的lib

4、MapReduce呼叫的程式碼需要改變:
a、src不能有伺服器的hadoop配置檔案
b、在呼叫是使用:
Configuration config = new  Configuration();
config.set("fs.defaultFS", "hdfs://node7:8020");//指定namenode的主機名和埠號,因為檔案是放在hdfs上的需要從hdfs上讀取。

config.set("yarn.resourcemanager.hostname", "node7");//resourcemanager的主機名。

5、可以進行Debug除錯。

伺服器環境:首先需要在src下放置伺服器上的hadoop配置檔案

1、在本地直接呼叫,執行過程在伺服器上(真正企業執行環境)
a、把MapReduce程式打包jar包,直接放到本地
b、修改hadoop的原始碼 ,注意:確保專案的lib需要真實安裝的jdk的lib
c、增加一個屬性:
config.set("mapred.jar", "D:\\wc.jar");//第一個引數:jar包名加字尾,第二個引數jar存放的位置。
d、本地執行main方法,servlet呼叫MapReduce。


2、直接在伺服器上,使用命令的方式呼叫,執行過程也在伺服器上
a、直接new Configuration物件,不用再配置其它資訊。會自動從伺服器上載入。
b、把mapreduce程式打包成jar包,傳送到伺服器上
c、通過: hadoop jar jar路徑  類的全限定名