前面一遍博文介绍了如何安装配置hadoop
地址:ubuntu安装配置hadoop
这里就来介绍一下用eclipse如何连接hadoop开发
由于我用的是虚拟机中的系统来做测试,多少有点不正确,还请谅解!
1.首先 要下载eclipse hadoop插件我用的是hadoop 1.0.4的版本,这里有个已经做好了的版本
下载地址:hadoop-eclipse-plugin-1.0.4.jar
下载下来直接把jar文件放到eclipse/plugins/文件夹中,然后重启eclipse
2.之后会到看到 如下图:然后设置下右边的hadoop根目录
没有的话说明插件没安装成功!
3.切换到Map/Reduce视图:
下面有个黄色的大象:
4.右击新建一个hadoop地址
把红框的都填下:
Location name : 这个随便写个
Map/Reduce host port: 这2个是要根据conf/mapred-site.xml这个来定的
DFS Master port: 这个是对应你conf/core-site.xml这个文件中fs.default.name这个属性的值
右边的Advanced parameters就不用改了!
完成后再看工程视图:
一步一步展开DFS Locations
当出现ConnectException异常时,只要检查下你写的地址跟端口是否跟hadoop配置文件中一样即可!
5.连接成功之后类似这个样子:
6.新建一个MapReduce Project
把\hadoop-1.0.4\src\examples\org\apache\hadoop\examples\WordCount.java复制到你的工程
7.在eclipse里,创建远程目录命名为 wordCount,建完之后刷新就可以看到了
8.然后从本地上传一个word.txt文件
word.txt内容:
java c++ python c
java c++ javascript
helloworld hadoop
mapreduce java hadoop hbase
当出现org.apache.hadoop.hdfs.server.namenode.SafeModeException:异常,这时就要把hadoop安全模式关闭, 命令:hadoop dfsadmin –safemode leave
9.上传之后run as WordCount.java 记得带上参数,用空格隔开
这个时候会出现Exception inthread "main" java.io.IOException: Failed to set permissions of path:\tmp\hadoop-wys\mapred\staging\wys1479426331\.staging to 0700 异常,是因为没有权限,网上说替换hadoop-core-xx.jar包中的org.apache.hadoop.fs.FileUtil.class文件,除此之外我还没找到其他的方法了!
文件地址:FileUtil
10.替换之后刷新工程,再次执行WordCount.java文件
当控制台打印下面这些说明已经执行成功!
再看DFS Locations
下面会多出来一个文件夹和2个文件,
打开part-r-00000文件这个就是你想要的:
恭喜你,此时大功告成!