建议在Linux下进行开发,Windows下存在诸多的问题。
我的运行环境
CentOS 6.4
搭建过程
1,下载Eclipse
http://www.eclipse.org/downloads/
推荐下载J2EE版本,有备无患。根据自己操作系统的版本选择32位或64位
下载后直接加压就可以使用了。
我直接丢在了桌面上。
但是如果没有配置Java环境或安装JRE的话,初次运行会提示需要JRE,它会在解压后的目录下找jre目录。
所以下一步就去找JRE
2,安装JRE
地址:
http://www.oracle.com/technetwork/java/javase/downloads/jre6downloads-1902815.html
下载后解压缩,并把JRE的文件夹拷贝到Eclipse文件夹
修改文件夹名称为jre
至此Eclipse的配置就完成了,如下图。
3,下载Hadoop源代码
http://mirror.bjtu.edu.cn/apache/hadoop/common/
根据自己安装的hadoop,下载相应源代码,主要是需要利用源代码中的lib
4,下载Hadoop-eclipse-plugin-*.jar
官方仅提供了Eclipse插件的源代码,并没有提供编译好的jar包。
我的Hadoop版本是1.0.4,所以是 Hadoop-eclipse-plugin-1.0.4.jar
把这个插件丢进Eclipse的plugins目录
5,打开Eclipse
选择Windows,然后Preferences,可以发现左边的列表中有一个Hadoop Map/Reduce。
点击并配置Hadoop的安装目录为源代码的解压路径
如图:
6,配置DFS
选择Window,然后Open Perspective ,选择Other
可以看到一个小象的标识
进入后,在下方找到Map/Reduce Locations
右键,打开新建New Hadoop Location
在General里面,需要填入Hadoop的Namenode的一些信息
参考下图:
在Advanced parameters的选项卡下,把修正一些用户名问题,保持和Namenode的配置一致
点击Finish
在Project的视图下,就能看到namenode了
接下来我们新建一个项目,开始远程调试
File -> New -> Other
选择Map/Reduce Project
输入一个Project name,点击Finish,就可以创建出一个MapReduce的项目
可以看到它自动的帮我们把Hadoop开发所需要的包给包含了进来了。
在src下新建一个.java的文件,就可以开始写我们的Map/Reduce的程序了
这里我直接拿来了官方的WordCount.java
修改里面的内容,把第一行的package去掉,因为我们的包路径不同。
因为这个程序接收两个参数,input和output
所以在我们运行前要给它制定参数的值
在项目右键,Run as -> Run Configurations
保证Project和Main Class的值是正确的
选择选项卡Arguments
这个参数是远程地址,左边是input,右边是output
运行可以在Console下面看到运行的结果。