我用的Hadoop版本是1.1.2,系统为Ubuntu 12.04
一、Hadoop伪分布式配置:
首先要修改Hadoop配置文档conf/hadoop-env.sh中JDK的路径,在第9行;配置conf文件下mapred-site.xml core-site.xml hdfs-site.xml三个文件;
ssh无密码登陆,网上方法很多;
测试
$ bin/hadoop namenode -format //格式化hdfs
$ bin/start-all.sh //启动
$ jps //察看启动的5个进程:NameNode,DataNode,JobTracker,TaskTracker,SecondaryNameNode
如果这个5个进程出现不全,要么那三个配置文件出错,要么是ip地址的问题(归根到底还是配置文件的问题),可以在ect/hosts 输入localhost 127.0.0.1 设置系统系统自动获取ip,否则在配置mapred-site.xml和core-site.xml文件时,就不能用localhost,应该明确使用ip地址。
二、Hadoop-Eclipse-plugin插件编译:
hadoop-1X版本之后都都没有提供现成的hadoop-eclipse-plugin插件,需要自己编译,网上可以搜到的编译方法很多,试过几个,不是每个都有用。
我用的好像是这个:http://www.linuxidc.com/Linux/2013-04/83295.htm
注意下,
(1)、hadoop版本做修改
<propertyname="version"value="1.1.3-SNAPSHOT"/> 大概30行
修改为:
<property name="version"value="1.1.3"/>
和:
<property name="version"value="1.1.3"/> //添加
这两句,我是照着做的,最后发现生成的插件是1.1.3版本的,反正能用,我也就没在意,如果觉得别扭可以试试把以上两个地方改成1.1.2...
另外,如果在编译过程中出现错误,目前还没有什么好的解决方法。
需要注意的,我们可控的,就是eclipse安装路径,在Ubuntu软件中心下载安装的eclipse,我不清楚放哪了,写的/usr/bin之类的,ant compile报错,最后没办法自己下了eclipse的tar.gz包自己装,然后才编译成功通过...
三、与eclipse集成开发:
网上也有很多这种文章,配置hadoop时对应好hadoop那两个xml文件就好。
出现的问题:
eclipse中连接hadoop时,List folder content出现:
Cannot connect to the Map/Reduce location: MyHadoop
Call to localhost/127.0.0.1:9001 failed on connection exception: java.net.ConnectException: 拒绝连接
这种问题,可能的原因:
1、hadoop没有配置好,可以在第一步设置时排除;
2、hadoop没有启动,启动之前最好bin/hadoop namenode -format格式化,然后在start-all.sh
3、其它原因,如eclipse的hadoop配置没有设置好等
PS:最近新入手学习hadoop,有好的学习建议或者demo项目,请多多交流!