eclipse下运行hadoop

来源:互联网 发布:json lib和gson的区别 编辑:程序博客网 时间:2024/04/29 21:44
1.获取mapreduce tool plugin

hadoop用0.20.2,注意0.20.1中没有eclipse-hadoop的plugin,

3. 将 hadoop-*-eclipse-plugin.jar 拷贝到 eclipse 文件夹下的/plugins 文件夹里
4. 在/home/YourName/testin 下新建 2 个文本文件,里面各输入若干单词
5. 启动 Eclipse

6. 到‘Windows’ -> ‘Preference’ -> 'Hadoop Map/Reduce',配置Hadoop Installation Directory,本例为/usr/local/hadoop

 


7. 在'Windows' -> 'Open Perspective' -> 'Other'里,选择蓝大象'Map/Reduce'


8. 在'Windows' -> 'Show View' -> 'Other'里,选择'MapReduce Tool' -> 'Map/Reduce Location'

9. 在窗口下方出现的黄大象'Map/Reduce Location'空白处,右击选择'New Map/Reduce Location'


10. 在弹出来的对话框里,根据core-site.xml 和 mapred-site.xml里的端口,进行填写:
    其中Location name 任意


11. 在窗口左侧试图的'Project Explorer'里,点击'DFS Location',就会出现HDFS的目录级

12、到这里配置完成了。值得说明的是,JDK需要采用1.6,否则会报如下错误信息。
Unsupported major.minor version 50.0
Unsupported major.minor version 49.0

Unsupported major.minor version 48.0

让你的map reduce程序直接在eclipse运行,而不需要打成jar包放到/hadoop/bin下手动在控制台run的方法

1. 在你建的mapreduce项目的类上,右键 -> Run As -> Open Run Dialog...

2. 在弹出的对话框中,点击 Java Application -> 类名 -> Arguments,如下图所示

 

           在Arguments里填上输入路径(即待处理文件存放目录)和输出路径(即处理结果存放目录),在这里这两个目录都是HDFS的路径,不是本地目录,中间用空格隔开即可。其中的hdfs://localhost:54310  是你在core-site.xml配置文件的里定义的fs.default.name的值。

           另外,/user/MR 目录需要你手工创建(在把本地待处理文件拷贝到HDFS时创建的),/user/MRout不用事先创建,HDFS会为你自动创建此目录。

3. 现在在你写的mapreduce 类里,就想平时写的java程序一样,点击Run,即可在Console里出现跟在控制台里手动run一样的输出。如下图所示:

 

4. 这时,如下图所示,刷新 "user" 文件夹就会出现第2步定义的MRout文件夹,里面的part-r-00000就是mapreduce的处理结果,双击此文件即可打开,查看结果。

 

PS:

当你下次再运行程序时,会报错说 /user/MRout 目录已存在,那么解决方法也很简单,要么在步骤4里把MRout目录,右击选择"Delete";要么在步骤2里改输出路径,当然了,还是前者方便些。

使用说明:
1、查看文件系统。点击eclipse右上角的蓝色大象图标,然后在左边Project Explorer会出现DFS Locations的链接,打开就能看到HDFS的文档结构。
2、运行Job,运行的时候采用Run on hadoop。这里需要注意3点,
A、记得配置输入输出参数。
B、记得在main函数中添加conf.set("hadoop.job.ugi", "root,hadoop"); root是用户名,hadoop是密码。
C、工程需要加载hadoop下lib里的所有包以及hadoop目录下的包,当然不是全部都需要,我觉得麻烦,所以全部加上了。

原创粉丝点击