这里的开发环境是指:Hadoop集群安装在Linux下,本地开发环境在Windows下用Hadoop-eclipse-plugin,远程连接Linux运行job。
一、安装
Hadoop集群安装配置请参看这里,Java与Eclipse的安装配置请参看这里,下面介绍Hadoop-eclipse-plugin的安装与配置:
点击
这里下载插件,并将插件重命名为hadoop-0.20.3-eclipse-pligin.jar,并将其放到Eclipse插件目录(xxx\
plugins)即可。
注意:不要用hadoop-0.20.2自带的插件,那个插件很悲剧,会导致run on Hadoop无反应。
二、配置
1、配置Hadoop安装目录
因为Eclipse编写程序需要用到Hadoop的Jar包,所以需要将Linux下Hadoop的绿色安装包解压一份在Windows机器上(比如:D:\hadoop-2.2.0),然后如下来指定Hadoop Windows目录:
选择Window->Preferences弹出对话框,选择Hadoop Map/Reduce,在Hadoop installation directory中如下来填写路径:
图1 设置Hadoop安装路径
2、配置Map/Reduce Location
这个配置的作用是设置建立Window上Eclipse与Linux上Hadoop集群进行连接的参数,具体步骤如下:
打开Window->Show View->Other弹出ShowView对话框,选择MapReduce Tools->Map/Reduce Locations,点击OK按钮,在Map/Reduce Locations对话框中,点击New Hadoop location按钮,在弹出对话框的General中填写如下参数:
图2 设置Hadoop Location
Location name:任意
Map/Reduce Master:与mapred-site.xml设置一致
DFS Master:与core-site.xm设置一致l
User name:服务器上运行Hadoop服务的用户名
关于Hadoop常用端口请参见
这里。
3、测试配置
选择Window->Show View->Project Explorer,点击DFS Location,逐步展开图2中设置的example,如果能看到下图,说明配置无误:
图3 HDFS目录树
三、实例
1、新建项目
新建测试项目WordCount,选择File->New->Other->Map/Reduce->Map/Reduce Project,点击Next按钮,在弹出的对话框中填写如下信息:
图4 创建WordCount工程
2、新建类
选中“
WordCount”工程,右击弹出菜单,选择New->Class,在弹出的对话框中填写如下信息:
图5 创建WordCount类
由于是运行Hadoop自带的WordCount程序,所以包名和例子中的一致为
org.apache.hadoop.examples,类名也必须一致为WordCount。
打开例子源文件D:\hadoop-0.20.2\src\examples\org\apache\hadoop\examples\WordCount.java,拷贝->粘贴代码到本项目类中即可。
3、数据准备
为了运行程序,需要一个输入文件夹和输出文件夹,前者用于存放输入数据,后者用于存放输出数据。
(1)输出文件夹,在程序运行完成后会自动生成,我们需要做的是在某个目录下为程序新建一个输入文件夹input,并在该文件夹下新建两个文件file01和file02,用于存放测试输入数据,具体步骤如下:
#pwd
/root
#mkdir input
#vi input/file01
Hello World Bye World
#vi input/file02
Hello Hadoop Goodbye Hadoop
(2)将本地文件夹input上传到HDFS中:
#hadoop fs -put input input01
这样在HDFS上就多了一个input01文件夹,可以如下来查看:
#hadoop fs -ls
其实,你会发现只上传了一个文件file01,不过没关系,可以单独传另一个。更多Hadoop Shell命令接口可以参见。
4、编译执行
右击WordCount.java,选择Run As->Run Configuration,在弹出的对话框中,选中Java Application,点击New,新建一个application名为WordCount,如下来配置Arguments:
图6 参数配置
上图中,在Program arguments中输入的是“你要传给程序的输入文件夹和你要求程序将计算结果保存的文件夹”。
点击Run,运行程序,过段时间后运行完成后,就可以在Linux终端下用如下命令查看结果了:
#hadoop fs -ls
#hadoop fs -cat output01/*
如果能看到结果,说明你已经成功在eclipse下运行第一个MapReduce程序了。
阅读(1062) | 评论(0) | 转发(0) |