写在前面:
前面讲的是使用命令行进行hadoop执行,但是由于eclipse是java的主要IDE,而hadoop使用java语言开发,所以则在eclipse上配置hadoop环境是非常必要的
==============================================================
1、复制 hadoop安装目录hadoop-0.20.2/contrib/eclipse-plugin/hadoop-0.20.2-eclipse-plugin.jar到eclipse安装目录下的plugins目录中。
2、重启eclipse,配置hadoop installation directory。
如果安装插件成功,打开Window-->Preferens,你会发现Hadoop Map/Reduce选项,在这个选项里你需要配置Hadoop installation directory。配置完成后退出。
3、配置Map/Reduce Locations。
在Window-->Show View->other...,在MapReduce Tools中选择Map/Reduce Locations。
在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中配置的地址及端口
设置完成后就会在eclipse的左边窗口中出现
=========================================================================================
配置完成后就可以实验之前说过的wordcount.java程序
1、新建项目。
File-->New-->Other-->Map/Reduce Project
项目名可以随便取,如hadoopTest。
复制/home/download/hadoop-0.20.2/src/examples/org/apache/hadoop/examples/WordCount.java到刚才新建的项目下面。
2、上传模拟数据文件夹。
为了运行程序,需要一个输入的文件夹和输出的文件夹。输出文件夹,在程序运行完成后会自动生成。我们需要给程序一个输入文件夹。
(1)、在当前目录(如hadoop安装目录)下新建文件夹input,并在文件夹下新建两个文件file01、file02(类似上文中的操作)
(2)、.将文件夹input上传到分布式文件系统中,在已经启动Hadoop守护进程终端中cd 到hadoop安装目录,运行下面命令:
$bin/hadoop -fs put input iutput
3、运行项目
(1)、在新建的项目hadoop-test,点击WordCount.java,右键-->Run As-->Run Configurations
(2)、在弹出的Run Configurations对话框中,点Java Application,右键-->New,这时会新建一个application名为WordCount
(3)、配置运行参数,点Arguments,在Program arguments中输入“你要传给程序的输入文件夹和你要求程序将计算结果保存的文件夹”,如:
Program arguments根据自己实际情况填写
PS:VM arguments改为 -Xms128m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=256m
(4)、点击Run,运行程序。
点击Run,运行程序,过段时间将运行完成,等运行结束后,可以在终端中用命令如下,查看是否生成文件夹output:
bin/hadoop fs -ls
用下面命令查看生成的文件内容:
bin/hadoop fs -cat output/*
然后生成与使用命令行相同的结果