使用eclipse开发MapReduce,然后导出jar包放到Hadoop集群里运行测试太过费时间,故上网参考资料进行了配置,但网上的教程都不是很全,故以我的环境为基准,写此博客。
环境:
win10下安装的eclipse
Linux:三台Ubuntu 14.04虚拟机搭建的Hadoop集群
Hadoop版本:Apache Hadoop 2.6.4
配置需求
1、Hadoop2.6.4的解压包
2、hadoop-eclipse-plugin插件Hadoop-eclipse-plugin(https://github.com/winghc/hadoop2x-eclipse-plugin)
3、将release目录下的hadoop-eclipse-plugin-2.6.0.jar拷贝到eclipse/plugins,重启eclipse
4、winutils.exe、hadoop.dll CSDN上有下载包
注:hadoop.dll要根据自己Windows电脑的位数下载,我下载的是64位的。
正式配置:
1、插件配置windows->show view->other
若安装hadoop-eclipse-plugin后在show view里面没有找到MapReduce Tools,则有可能是eclipse的版本问题,eclipse应为eclipse for j2ee版本的eclipse
2、window->preferences->hadoop map/reduce 指定win7上的hadoop根目录
(即E:\hadoop\hadoop-2.6.4)
3、然后在Map/Reduce Locations 面板中,点击小象图标定义hadoop
1) Host:Hadoop Master节点对应的IP
2) Port:hdfs-site.xml中dfs.datanode.ipc.address指定的的端口号(默认是50020)
3) DFS Master中Port:core-site.xml中fs.defaultFS指定的端口
4) User Name:windows当前的用户名
点击Finish。
4、查看hdfs文件。在Project Explore面板中查看。正常情况下是可以查看了
这时候运行程序会报“Exception in thread “main” java.lang.NullPointerException”之类的错,解决方案如下:
在Hadoop的bin目录下放winutils.exe,在环境变量中配置 HADOOP_HOME,把hadoop.dll拷贝到C:\Windows\System32下面即可
配置环境变量:
(1) 系统变量中创建HADOOP_HOME,
(2) 在Path中最后添加;%HADOOP_HOME%\bin
注意:有个分号,和原来的变量分隔开!