win7 x64下eclipse远程到hadoop2.6.0集群服务器+word count 实例演示

时间:2023-01-22 14:30:09

由于实验室在做Spark的研究,所以需要搭建相关的平台进行实验。由于每次提交测试代码都需要先打包后上传到linux虚拟机中,再ssh到服务器上去跑比较麻烦。所以就有如下的分享。
假设你已经搭建好完全分布式hadoop集群了,搭建步骤见第一篇:
http://blog.csdn.net/youxia918/article/details/46607709
1.下载解压hadoop-2.6.0.tar.gz到win7
2.安装eclipse4.3及以上的版本
3.下载所需插件(github上下载的源码需要自己编译。这里使用已经编译好的插件即可)
①hadoop-eclipse-plugin-2.6.0.jar
②hadoop.dll 将此组件放在hadoop解压目录bin下
③winutils.exe将此组件放在C:\Windows\System32
注:②③的组件也要求是hadoop2.6.0的,根据你下载的hadoop版本来选择。②③组件不配置会报错,亲测。
下载地址:
链接:http://pan.baidu.com/s/1jGGNitC 密码:w5on
配置:
①将hadoop-eclipse-plugin-2.6.0.jar拷贝到eclipse的plugin目录下,启动eclipse。看到出现DFS Locations即为成功。
win7 x64下eclipse远程到hadoop2.6.0集群服务器+word count 实例演示
②点击windows->preferences->Hadoop Map/Reduce将hadoop-2.6.0解压安装目录导入进来。
win7 x64下eclipse远程到hadoop2.6.0集群服务器+word count 实例演示
③点击windows->show view->mapreduce tools->Map/reduce Locations
win7 x64下eclipse远程到hadoop2.6.0集群服务器+word count 实例演示
创建连接:点击图标如图所示

win7 x64下eclipse远程到hadoop2.6.0集群服务器+word count 实例演示
1是你给hadoop起的name (随意)。
3 port填写是参照yarn-site.xml 中的yarn.resourcemanager.resource-tracker.address
2和4参考core-site.xml中的fs.defaultFS
5填写集群hadoop的用户名即可。
验证结果:
win7 x64下eclipse远程到hadoop2.6.0集群服务器+word count 实例演示
这里提一下如果你想多hdfs进行操作的话,需要修改win7的用户名与集群的hadoop安装用户名一致,才可以,不然会报permission denied。修改如下:
win7 x64下eclipse远程到hadoop2.6.0集群服务器+word count 实例演示
win7 x64下eclipse远程到hadoop2.6.0集群服务器+word count 实例演示
4.新建简单的MapReduce项目(word count)
点击:windows->open Perspective->other->map/reduce
win7 x64下eclipse远程到hadoop2.6.0集群服务器+word count 实例演示
点击File->New->Project->mapreduce project
win7 x64下eclipse远程到hadoop2.6.0集群服务器+word count 实例演示
依据向导一步步点击就好了。
在src中新建WordCount class类
代码如下:(网上的代码中并没有设置conf.set,会报错)
win7 x64下eclipse远程到hadoop2.6.0集群服务器+word count 实例演示
这其中必要的设置conf.set(“mapred.jar”,”F:\HADOOP\hadoop.jar”);
具体参考:http://blog.csdn.net/andyelvis/article/details/7706205

注:代码运行模式有两种:代码修改如②
参考:http://www.open-open.com/lib/view/open1418191526714.html
①不需要设置
FileInputFormat.addInputPath(job, newPath(“hdfs://192.168.11.134:9000/in/test*.txt”));//路径1
FileOutputFormat.setOutputPath(job, newPath(“hdfs://192.168.11.134:9000/output”));//输出路径
System.exit(job.waitForCompletion(true) ? 0 : 1);
②需要配置
FileInputFormat.addInputPath(job, new Path(otherArgs[0]));
FileOutputFormat.setOutputPath(job, new Path(otherArgs[1]));
点击:Run As—>Run Configurations
win7 x64下eclipse远程到hadoop2.6.0集群服务器+word count 实例演示
在src里添加文件log4j.properties (不添加会出现log4jwarning)
win7 x64下eclipse远程到hadoop2.6.0集群服务器+word count 实例演示
内容如下:
win7 x64下eclipse远程到hadoop2.6.0集群服务器+word count 实例演示
最后:
Run As—>Run on Hadoop 结果如下:(右击Reconnect 可以看到hdfs里的变化)
win7 x64下eclipse远程到hadoop2.6.0集群服务器+word count 实例演示