title: window下搭建eclipse運行MapReduce環境
date: 2016-07-13 09:47:21
tags: MapReduce
categories: 大數據
系統環境及所需文件
- eclipse-jee-mars-2
- hadoop2.7.2
- hadoop-eclipse-plugin
- hadoop.dll & winutils.exe
修改Master節點的hdfs-site.xml
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
旨在取消權限檢查
<property>
<name>dfs.web.ugi</name>
<value>Skye,supergroup</value>
</property>
配置Hadoop插件
- windows下載hadoop-2.7.2解壓到某目錄下,如:E:\hadoop\hadoop-2.7.2
- 下載hadoop-eclipse-plugin插件hadoop-eclipse-plugin,將release目錄下的hadoop-eclipse-plugin-2.6.0.jar拷貝到eclipse/plugins,重啟eclipse。
- 插件配置windows->show view->other 顯示mapreduce視圖
- window->preferences->hadoop map/reduce 指定windows上的hadoop根目錄(即:E:\hadoop\hadoop-2.7.2)
-
在Map/Reduce Locations 面板中,點擊小象圖標定義hadoop
解釋:
MapReduce Master
Host:虛擬機hadoop master對應ip
Port:hdfs-site.xml中dfs.datanode.ipc.address指定的的端口號。此處填9001
DFS Master中Port:core-site.xml中fs.defaultFS指定的端口。應填9000
User name:linux中運行hadoop的用戶。
另一種說法:
其中,Location name可任意填寫,Mapreduce Master中Host為resourcemanager機器ip,Port為resourcemanager接受任務的端口號,即yarn-site.xml文件中yarn.resourcemanager.scheduler.address配置項中端口號(8030)。DFS Master中的Host為namenode機器ip,Port為core-site.xml文件中fs.defaultFS配置項中端口號(9000)。
兩種都可以運行。
配置完畢查看結果
windows下運行環境配置
- 在系統環境變量中增加HADOOP_HOME,并在Path中加入%HADOOP_HOME%\bin
- 將下載下來的hadoop.dll,winutils.exe拷貝到HADOOP_HOME/bin目錄下
創建 MapReduce工程并運行
需要拷貝 服務器hadoop中的log4j.properties文件到工程的src目錄
運行時報如下錯誤,弄了好長一段時間,發現原因是服務器通過內網ip訪問,外網無法解析。用虛擬機連接成功
WARN hdfs.DFSClient: Failed to connect to /10.0.0.14:50010 for block, add to deadNodes and continue. java.net.ConnectException: Connection timed out: no further information
java.net.ConnectException: Connection timed out: no further information