1 下載插件html
hadoop-eclipse-plugin-2.5.1.jarjava
從網上下載對應版本的插件,http://download.csdn.net/detail/tondayong1981/7920973git
2 配置插件 github
把插件放到..\eclipse\plugins目錄下,重啓eclipse,配置Hadoop installation directory, 若是插件安裝成功,打開Windows—Preferences後,在窗口左側會有Hadoop Map/Reduce選項,點擊此選項,在窗口右側設置Hadoop安裝路徑。(windows下只需把hadoop-2.5.1.tar.gz解壓到指定目錄)windows
3 配置Map/Reduce Locationseclipse
在Window-->Show View中打開Map/Reduce Locations,點擊OK,控制檯會出現:oop
在Map/Reduce Locations中新建一個Hadoop Location。在這個View中,右鍵-->New Hadoop Location。在彈出的對話框中你須要配置Location name,如Hadoop,還有Map/Reduce Master和DFS Master。這裏面的Host、Port分別爲你在mapred-site.xml、core-site.xml中配置的地址及端口。spa
點擊"Finish"按鈕,關閉窗口。.net
4 查看是否鏈接成功插件
點擊左側的DFSLocations—>master (上一步配置的location name),如能看到user,表示安裝成功
5 新建MapReduce項目並運行
1.右擊New->Map/Reduce Project
2.新建WordCount.java(在Hadoop的share目錄下找到mapreduce的案例,copy過來)
3.在hdfs用命令行建立一個test目錄(輸出目錄能夠不能建立,運行MR是會自動建立),並上傳一個word.txt文件(隨便寫幾個單詞)
hadoop fs -mkdir /test/
hadoop fs -copyFromLocal word.txt /test/word.txt
4.點擊WordCount.java右擊-->Run As-->Run Configurations 設置輸入和輸出目錄路徑,如圖所示:
5.點擊WordCount.java右擊-->Run As-->Run on Hadoop
這時候會遇到不少問題:
問題一:空指針錯誤
1.下載winutils的windows版本
GitHub上,有人提供了winutils的windows的版本,項目地址是:https://github.com/srccodes/hadoop-common-2.2.0-bin ,直接下載此項目的zip包,下載後是文件名是hadoop-common-2.2.0-bin-master.zip,隨便解壓到一個目錄,不要顧慮它的版本,下載好後,把winutils.exe加入你的hadoop-x.x.x/bin下,把hadoop.dll放入從C:/wondwos/system32下面,若是沒有解決則在bin目錄下也放一份。
2.配置環境變量
增長用戶變量HADOOP_HOME,值是下載的zip包解壓的目錄,而後在系統變量path裏增長$HADOOP_HOME\bin 便可。
重啓電腦,再次運行程序,正常執行。不想重啓電腦能夠在程序里加上:
System.setProperty("hadoop.home.dir", "F:\\hadoop\\hadoop-2.5.1");
注:F:\\hadoop\\hadoop-2.5.1是我本機解壓的hadoop的路徑。
問題二:winutils.exe錯誤
若是第一個錯誤徹底解決,第二個錯誤就不會出現,這個錯誤出現的緣由或者是沒有將winutils.exe放到hadoop目錄的bin下面,或者是配置環境變量沒有生效。
問題三:權限問題
問題緣由:本地用戶administrator(本機windows用戶)想要遠程操做hadoop系統,沒有權限引發的。
一、在hdfs的配置文件中,將dfs.permissions修改成False,重啓hadoop集羣
<property>
<name>dfs.permissions</name>
<value>false</value>
<description>
If "true", enable permission checking in HDFS.
If "false", permission checking is turned off,
but all other behavior is unchanged.
Switching from one parameter value to the other does not change the mode,
owner or group of files or directories.
</description>
</property>
二、執行這樣的操做 hadoop fs -chmod -R 777 /user/hadoop
三、把計算機名改成hadoop用戶的用戶名
對於上面的第一個和第三個方法,我沒有嘗試,不知道是否有用,第二個方法可行。第二個方法是讓咱們來修改HDFS中相應文件夾的權限,後面的/user/hadoop這個路徑爲HDFS中的文件路徑,這樣修改以後就讓咱們的administrator有在HDFS的相應目錄下有寫文件的權限(全部的用戶都是寫權限)
問題四:日誌輸出問題
在複製了hadoop.dll後,運行WordCount,發現運行一會沒有任何信息輸出就結束了
解決:能夠寫一個log4j日誌文件,放在項目的src下面,查看一下日誌的輸出,可能從輸出的日誌中發現問題。