在Eclipse下开发并运行Hadoop Map/Reduce程序

在Eclipse下开发并运行Hadoop  Map/Reduce程序
在eclipse3.7中配置hadoop1.0.1插件
1.安装插件
准备程序:
A.        eclipse-3.7 :下载:eclipse-java-indigo-SR2-linux-gtk.tar.gz并解压缩
B.hadoop-eclipse-plugin-1.0.1 (http://download.csdn.net/detail/xiaoping8411/4216102)
将hadoop-eclipse-plugin-1.0.1复制到eclipse/plugins目录下,重启eclipse。
2.打开MapReduce视图
Window -> Open Perspective -> Other 选择Map/Reduce,图标是个蓝色的象。 
3.添加一个MapReduce环境
在eclipse下端,控制台旁边会多一个Tab,叫“Map/Reduce Locations”,在下面空白的地方点右键,选择“New Hadoop location...”
在弹出的对话框中填写如下内容:
Location name(取个名字):如HadoopLocation
Map/Reduce Master(Job Tracker的IP和端口,根据mapred-site.xml中配置的mapred.job.tracker来填写) 
DFS Master(Name Node的IP和端口,根据core-site.xml中配置的fs.default.name来填写)
User name: 用户名(默认操作系统用户名,这个没什么用),比如root

4.使用eclipse对HDFS内容进行修改
经过上一步骤,左侧“Project Explorer”中应该会出现配置好的HDFS,点击右键,可以进行新建文件夹、删除文件夹、上传文件、下载文件、删除文件等操作。
注意:每一次操作完在eclipse中不能马上显示变化,必须得刷新一下。

5.创建MapReduce工程
A.配置Hadoop路径
Window -> Preferences 选择 “Hadoop Map/Reduce”,点击“Browse...”选择Hadoop文件夹的路径。

这个步骤与运行环境无关,只是在新建工程的时候能将hadoop根目录和lib目录下的所有jar包自动导入。
B.创建工程
File -> New -> Project 选择“Map/Reduce Project”,然后输入项目名称,创建项目。插件会自动把hadoop根目录和lib目录下的所有jar包导入。
C.创建Mapper或者Reducer
File -> New -> Mapper 创建Mapper,自动继承mapred包里面的MapReduceBase并实现Mapper接口。 
注意:这个插件自动继承的是mapred包里旧版的类和接口,新版的Mapper得自己写。
Reducer同理。
6.在eclipse中运行WordCount程序
A.导入WordCount
从网上下载hadoop自带的hadoop-examples-1.0.1.jar中获取WordCount程序的源代码,
创建一个项目把该代码放进去
B.配置运行参数
Run As -> Open Run Dialog... 选择WordCount程序,在Arguments中配置运行参数:/mapreduce/wordcount/input    /mapreduce/wordcount/output/
分别表示HDFS下的输入目录和输出目录,其中输入目录中有几个文本文件,输出目录必须不存在。必须在第3步建立的HadoopLocation下建立mapreduce/wordcount/input目录,并将file1.txt, file2.txt拷到该目录下。

C.运行
Run As -> Run on Hadoop 选择之前配置好的MapReduce运行环境,点击“Finish”运行。

控制台会输出相关的运行信息。

D.查看运行结果
在输出目录/mapreduce/wordcount/output/1中,可以看见WordCount程序的输出文件。除此之外,还可以看见一个logs文件夹,里面会有运行的日志。

0 个评论

要回复文章请先登录注册