首先是hadoop平台的搭建。。。。(既然都要用eclipse运行wordcount实例了,肯定要搭建hadoop平台,或已经搭建好了平台)该实例是在伪分布式上进行的。
搭建好伪分布式后,安装好eclipse,在用eclipse运行第一个wordcount实例之前先要给eclipse安装hadoop开发插件。
关于安装插件博主pig2给出了两种方法,我运用的是后者,即安装插件。博中给出的另一种方法是引入jar包。我在hadoop目录中找了半天,发现hadoop直接安装的lib下没有jar包,倒是在子子目录下有,处于不清楚到底是那些jar包,于是果断放弃第一种。我的hadoop是2.6.0版本,下载插件地址(jar包)。 密码:5t04. http://download.csdn.net/download/foolish77/2543775
安装插件方法:
1.把插件即下载得到的jar包放到eclipse安装目录的plugins目录中。然后重新打开eclipse,点击project——>clean。进行刷新打开Window-->Preferens里面看到hadoop map/reduce选项说明安装成功。在这个选项里你需要配置Hadoop installation directory。配置完成后退出。
每次关机重启后dfs工程也会链接不上出现上面图中的error。这时只要点击工程右键refresh,重启eclipse即可。
2.配置环境
指定Hadoop安装目录
打开Map/Reduce视图
”Window”->”Open Perspective”->”Other”->“Map/Reduce”.
3.配置Map/Reduce Locations。
“Window”->”Show views”->”Other”->”Map Reduce Tools”->”Map/Reduce locations”.
4.新建 Hadoop location
在Map/Reduce Locations(Eclipse界面的正下方)中新建一个Hadoop Location。在这个View中,点击鼠标右键-->New Hadoop Location。在弹出的对话框中你需要配置Location name,可任意填,如Hadoop,以及Map/Reduce Master和DFS Master。这里面的Host、Port分别为你在mapred-site.xml、core-site.xml中配置的地址及端口。我的这两个文件中配置如下:
最后的配置截图如下:
填写这个对话框时要注意:http://blog.csdn.net/ningguixin/article/details/7801071 host是namenode的机器名或IP地址
设置完成后,点击Finish就应用了该设置。然后,在最左边的Project Explorer中就能看到DFS的目录,如下图所示(参考):该文件目录与hdfs中的文件系统是同步的。ubuntu终端上和这边均可查看或执行java代码(jar或.java):
二、运行wordcount实例
先新建一个文本,键入内容,然后上传到Hdfs上的/user/hadoop/input1/下面,因为我是之前有在终端上运行wordcount的jar包,所以已经上传成功,命令是:
bin/hadoop dfs -put /usr/local/hadoop/README.txt /user/hadoop/input1/
查看命令:bin/hadoop dfs -ls /user/hadoop/input1/*
然后eclipse新建项目,file——>new——>other,在弹出的new窗口中,选择map/preduce下面的map/preduce project点击下一步如图:
在里面配置Hadoop安装目录,把你的hadoop安装目录copy进去就可以,点击finish
然后在新建的项目下右键新建class,输入class名字,(和平时开发步骤一样,只是在上面一步新建工程的时候配置了一个Hadoop的安装目录)
在类里面输入wordcount的代码,网上copy的感觉这个还不错,里面博主都个了讲解,不太懂的可以看一下代码分析。
因为之前没接触过,也不知道怎么吧hadoop的开发和eclipse联系起来,所以之前还以为要在eclipse引入的fds中建一个class类,网上找了好久都没有详细说明的,然后自己连查带悟才明白,原来就是新建了一个工程,内部把他们联系起来,然后运行的时候有些不一样。如图三部分都要配置好,在运行:
运行的时候,右击.java,run as——>run configuration,配置运行环境,如图:点击run.
然后在dfs的文件目录下的,output文件夹里就可以看到运行后新生成的文件,双击part...就可以打开,看到运行后的结果。或者在终端下也可以查看,命令:sbin/hdfs dfs -cat /user/hadoop/output/*
注意的是:在运行之前要保证在dfs上不存在output文件夹。不然会报错。
我的结果是:
运行时参考的网站还有:
http://blog.chinaunix.net/uid-20577907-id-3613584.html
about云上的一个大牛的网址(很多问题的解决方案都是从他的博客看来的,哈哈,对我来说,他就是绝对的大牛,而且还把问题描述的特别清楚,致敬):
http://www.aboutyun.com/thread-8029-1-1.html