分类: HADOOP
2014-02-28 16:29:31
配置Map/Reduce Locations。
在Window-->Show View中打开Map/Reduce Locations。
在Map/Reduce Locations中新建一个Hadoop Location。在这个View中,右键-->New Hadoop Location。在弹出的对话框中你需要配置Location name,如Hadoop,还有Map/Reduce Master和DFS Master。这里面的Host、Port分别为你在mapred-site.xml、core-site.xml中配置的地址及端口。如:
Map/Reduce Master
localhost
9001
DFS Master
localhost
9000
此界面还有一个Users的配置,之前用的是默认,感觉不太对,后来就用了我在安装hadoop的时候添加的那个ssh的账号名,后面在查看hadoop目录的时候,也可以正常读出,不确定是不是一定要用这个用户名,还是也可以用其它,其它文章中有见过说一定要指定什么名字.没有测试不太懂这个.
配置完后退出。点击DFS Locations-->Hadoop如果能显示文件夹(2)说明配置正确,如果显示"拒绝连接",请检查你的配置。
到此环境配置就差不多了. 下面创建一个项目,体验一把:
新建项目
File-->New-->Other-->Map/Reduce Project
项目名可以随便取,如WordCount。
我是把整个的hadoop的example的目录全部拷贝到了新建的项目下,因为之前只拷1个文件,总是无法运行,不知道是不是配置不对.
另外还需要拷贝 源码路径: hadoop-1.2.1\src\core\org\apache\hadoop\fs
主要是因为上面拷贝后的java程序,运行的时候会报一个checkvalue的错误,修改源码重新编译是最快的方法了.先这样,后面学会了如何玩这个,再来看看如何整.
上面拷贝过来的fs目录的,需要修改1个文件: FileUtil.java
private static void checkReturnValue(boolean rv, File p,
FsPermission permission
) throws IOException {
// if (!rv) {
// throw new IOException("Failed to set permissions of path: " + p +
// " to " +
// String.format("%04o", permission.toShort()));
// }
}
如上,按上面的代码,将相应的代码注释掉,然后第一次执行后,会在bin目录下生成对应的class文件, FileUtil.class,将此文件替换掉hadoop-eclipse-plugin-1.2.1.jar中hadoop-core.jar的FileUtil.class文件. 否则后面的运行可能会无法通过.
然后上传一个模拟数据文件到hadoop.
本地新建文件word.txt
通过hadoop的命令在HDFS上创建/tmp/workcount目录,命令如下:bin/hadoop fs -mkdir /tmp/wordcount
通过copyFromLocal命令把本地的word.txt复制到HDFS上,命令如下:
bin/hadoop fs -put /home/mars/word.txt /tmp/wordcount/word.txt
运行项目
在新建的项目右击WordCount.java, ->Run As -> Run Configurations
在弹出的Run Configurations对话框中,点击Java Application,右键->New,创建一个新的Application,名字可修改.
配置运行参数,点Arguments,在Program arguments中输入“你要传给程序的输入文件夹和你要求程序将计算结果保存的文件夹”,如: hdfs://localhost:9000/tmp/wordcount/word.txt hdfs://localhost:9000/tmp/wordcount/output
然后点击Apply按键,退出Configuraiton界面.
再右击WordCount.java, ->Run As -> Run on Hadoop
稍等片刻,就会执行完.
然后查看目录 bin/hadoop fs -ls /tmp/wordcount/output
会有2个文件,1个有计算的结果,另1个就是告诉你执行成功了.
理解不深,只能写成这样了. 也算是给这个入门体验作个总结了.
参考文章:
http://sishuok.com/forum/blogPost/list/5337.html
http://www.cnblogs.com/EChannel/archive/2013/02/22/2922721.html
http://shitouer.cn/2012/05/build-hadoop-eclipse-development-env-under-windows/
http://blog.csdn.net/savechina/article/details/5656937
http://blog.sina.com.cn/s/blog_3cd4b1ab010195di.html
http://blog.csdn.net/shan9liang/article/details/9842091
http://blog.csdn.net/showmyheart_libo/article/details/12572209
http://www.cnblogs.com/flyoung2008/archive/2011/12/09/2281400.html
http://www.cnblogs.com/flyoung2008/archive/2011/11/29/2268302.html
http://blog.csdn.net/savechina/article/details/5656937
http://blog.csdn.net/shan9liang/article/details/9842091
http://phz50.iteye.com/blog/932373
http://blog.csdn.net/twlkyao/article/details/17578541
http://blog.csdn.net/xw13106209/article/details/6862480
http://worms.blog.51cto.com/969144/1321037
http://blog.csdn.net/qyongkang/article/details/7610887