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