分类: 云计算
2012-09-23 17:37:46
自己乱搞,出了点问题,弄来弄去,总算弄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
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的目录级
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里改输出路径,当然了,还是前者方便些。
使用说明: