Hadoop学习5--配置本地开发环境(Windows+Eclipse)

一、导入hadoop插件到eclipse

插件名称:hadoop-eclipse-plugin-2.7.0.jar

我是从网上下载的,还可以自己编译。

放到eclipse安装目录下的plugins文件夹

tip:

1、竟然没有plugins文件夹,自己在安装目录下新建了个文件夹

2、重启eclipse后,一直无法看到网上描述的结果,于是删除了eclipse安装目录下的这个文件:platform.xml(去安装目录下全局搜索),再次重启,ok。

重启eclipse->window->Preferences:

Hadoop学习5--配置本地开发环境(Windows+Eclipse)

右侧路径是你本地的hadoop安装路径。

二、配置Map/Reduce Locations

Window->Show View->Others->MapReduce Tools-> Map/Reduce Locations->OK

这时选项卡已经打开了,在主界面里找找吧

打开选项卡后,右上方有个小图标(我这里是蓝色的小象顶着一个加号,够隐蔽),弹出新窗口,进行配置:

Hadoop学习5--配置本地开发环境(Windows+Eclipse)

其中,Host使用你的hadoop集群主机ip

前一个Port使用mapred-site.xml的mapred.job.tracker配置(没有这个配置就加上)

后一个Port使用core-site.xml的fs.default.name配置(没有加上)

按网上教程,说是保存后,Project Explorer窗口应该出现配置好的HDFS,鉴于本人对java开发工具的不熟悉,研究了好一会,才从Eclipse右上方的Open perspectivet小图标下的Map/Reduce..点进去,如下图:

Hadoop学习5--配置本地开发环境(Windows+Eclipse)

成功后,左侧菜单的Project Explorer里,出现了DFS Locations

三、我遇到的问题

1、提示无法连接到集群服务器的某一个端口

其实这里有个一个非常简单的验证方法,在本机(windows)cmd测试端口开通情况

telnet 你配置的ip 8020

telnet 你配置的ip 9001

我的解决方法是,确保集群的namenode和datanode都正常启动,则解决上述问题。

(其实这个真的不是必须的,到现在我的8020端口也是telnet不通的,在这个问题上纠结了太长时间)

如果能通(进入一个什么都没有的页面),则配置正确。

2、依然报错,

Failed on local exception: com.google.protobuf.InvalidProtocolBufferException: Protocol message end-group tag did not match expected tag.; Host Details : local host is: "USER-20140422SO/192.168.6.33"; destination host is: "h201":9001;

类似于上面的错误信息,各种查找也没找到原因

也是各种查证吧,仅限的几个回复也是说的很笼统,没办法只能自己各种尝试。

后来我又建立了个Map/Reduce Locations,唯一不通的是name和端口,其中端口和前一个是正好相反的配置,发现了一个有趣的问题,DFS Locations区域内的文件夹,看教程都在后面有个括号,里面有数字,代表文件数。而我的一直是(0),一开始一直以为是有问题的,于是就把精力放在前面那个明确报错的Map/Reduce Locations实例的解决上,于是乎,两个下午就这么流失了。。。山穷水尽的时候,放弃了这条路,想着,暂时就不使用eclipse远程连接使用了,我手动打代码,编译,然后不也就能看下真正的hadoop执行效果了吗?

接下来,发生了不可思议的事情。。。

在hadoop fs下创建了文件夹后,无意中在eclipse里那个(0)文件夹上刷新了一下,文!件!出!现!了!

小总结:看来原来的路走的就不对,这个配置本来不是什么难事,因为之前一路走来,很费劲,就想当然的把这个当成个容易出错的大工程了。

至此,Eclipse配置远程连接集群,结束。

上一篇:XCODE多行代码缩进快捷键


下一篇:Java 编程入门(词汇表)