一、准備插件
1、自己編譯
1.1 安裝Ant
- 官網下載Ant,apache-ant-1.9.6-bin.zip
- 配置環境變量,新建ANT_HOME,值是E:\apache-ant-1.9.6;PATH后面追加";%ANT_HOME%\bin"
- 測試,ant -version
1.2 下載hadoop2.6.0
http://hadoop.apache.org/releases.html#News,選擇2.6.0的binary
1.3 下載hadoop2x-eclipse-plugin源代碼
地址:https://github.com/winghc/hadoop2x-eclipse-plugin,選擇右側的“Download ZIP”,下載。
1.4 編譯
- 解壓hadoop2x-eclipse-plugin-master.zip,如在E盤下,則進入到:E:\hadoop2x-eclipse-plugin-master\src\contrib\eclipse-plugin
- 執行ant,ant jar -Dversion=2.6.0 -Dhadoop.version=2.6.0 -Declipse.home=E:\Program Files (x86)\eclipse -Dhadoop.home=E:\hadoop-2.6.0,前面那個是eclipse的安裝目錄,后面的是hadoop2.6.0的根目錄
- 生成位置,E:\hadoop2x-eclipse-plugin-master\build\contrib\eclipse-plugin目錄下
注:由於我本機的有個commons-httpclient包下載不下來,也沒找到原因,也就沒用自己打包的方式。 一 一+
2、直接下載,這是我下載的一份,確實可用的:
網盤地址:鏈接: http://pan.baidu.com/s/1dDwemop 密碼: idve
二、Eclipse配置
1、把插件放到eclipse的plugins目錄下,啟動eclipse,可以在左側看到DFS Location
2、打開Window -> Preferences,可以看到Hadoop Map/Reduce選項,選中,設置hadoop的根目錄,如下圖:

3、配置MapReduce
3.1 點擊Window -> Show View -> MapReduce Tools,打開Map/ReduceLocation視圖
3.2 找到Map/ReduceLocation選項卡,點擊右側的藍色小象圖標,打開配置窗口,輸入任意Location name,配置Map/Reduce Master和DFS Master,如下圖:

注意:9001和9000端口要設置開放;MR Master和DFS Master配置必須和mapred-site.xml和core-site.xml等配置文件一致
4、測試連接是否成功
4.1 登錄到hadoop服務器,啟動hadoop服務
4.2 查看左側DFS Location,如果看到上傳的文件,說明連接成功,如下圖:

注意:在左側上傳文件到hdfs時,會提示沒寫的權限,(如果hadoop環境的用戶是root,不存在此問題)解決方法有三種:
a. 打開hdfs-site.xml,增加如下代碼,但不適合生產環境:
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
b. 修改文件的讀寫權限,如:bin/hadoop dfs -chmod 777 /in/input3
c. windows創建一個和hadoop用戶一樣的用戶,且要用這個用戶打開eclipse。(這個本人未親身測試,有興趣的可以自己試試)
4.3 eclipse上傳文件,選擇左側的菜單選項“Upload file to DFS”,效果如下:

附上幾個配置文件的信息:
1、hadoop環境
master:192.168.12.232
slave01:192.168.12.233
slave02:192.168.12.234
2、配置文件:
hosts文件
[hadoop@master hadoop]$ cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.12.232 master 192.168.12.233 slave01 192.168.12.234 slave02
core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.datanode.ipc.address</name>
<value>0.0.0.0:50020</value>
</property>
<property>
<name>dfs.datanode.http.address</name>
<value>0.0.0.0:50075</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/hadoop-2.6.0/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/hadoop-2.6.0/dfs/data</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
</configuration>
slaves
#localhost
slave01
slave02
