在Eclipse下配置运行hadoop

转载自:http://hi.baidu.com/lingsuch/blog/item/c374fdecda19e82127979198.html

非常感谢此文对我提供的帮助。


自己乱搞,出了点问题,弄来弄去,总算弄OK了

主要就是版本的问题

我的开发环境是:

Ubuntu,如果安装的版本低,系统更新下

1.安装eclipse

版本是eclipse3.3.X

其他版本会不兼容

下好eclipse-java-3.3-linux.tar.gz文件后

sudo cp **.tar.gz /usr/lib

解压缩sudo -xvf ****.tar.gz

2.获取mapreduce tool plugin

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

也不要去IBM的官网去下,因为IBM已经把这个工具贡献给hadoop了,IBM官网的那个可能会出版本不兼容的问题

3. 将 hadoop 文件夹下的 contrib/eclipse-plugin/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

 在Eclipse下配置运行hadoop_第1张图片


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

在Eclipse下配置运行hadoop_第2张图片


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

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

在Eclipse下配置运行hadoop_第3张图片


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

在Eclipse下配置运行hadoop_第4张图片


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

在Eclipse下配置运行hadoop_第5张图片

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,如下图所示

在Eclipse下配置运行hadoop_第6张图片

 

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

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

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

在Eclipse下配置运行hadoop_第7张图片

 

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

在Eclipse下配置运行hadoop_第8张图片

 

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目录下的包,当然不是全部都需要,我觉得麻烦,所以全部加上了。

你可能感兴趣的:(Hadoop学习)