HDP2.0.6+hadoop2.2.0+eclipse(windows和linux下)调试环境搭建

花了好几天,搭建好windows和linux下连接HDP集群的调试环境,在此记录一下

  hadoop2.2.0的版本比hadoop0.x和hadoop1.x结构变化很大,没有eclipse-hadoop插件支持,在网上找了好久才找到,自己编译的比较麻烦,而且不成功,还好最后找到了。

环境及配置:

1.eclipse版本及hadoop插件下载地址:http://download.csdn.net/detail/kangdakangdaa/7880519

如果要用myeclipse开发方便的朋友,采用myeclipse8.6版本,至少我试过8.5版本是不行,不能识别插件

myeclipse8.6下载地址:http://download.csdn.net/detail/lgscofield/4471379

 

2.为了windows解析域名方便,修改C:WindowsSystem32driversetchosts文件

编辑添加hadoop集群配置的hosts文件添加进去,如:

192.168.0.128 hadoop1

也可以不添加修改,可以直接用hadoop集群的ip用作远程访问。

  接下来我们先来说在linux怎么连接hadoop集群,在windows用eclipse和myeclipse远程连接hadoop集群在文章的末尾有说明

3. 安装配置:

  下载eclipse,直接解压,无配置安装, 将插件hadoop-eclipse-plugin-2.2.0.jar放在eclipse/plugins目录下.

  运行eclipse.exe。

  在eclipse可视窗口,windows——>show view——Other——>MapReduce Tools——>mapreduce locations. 

  在界面上显示的Mapreduce Locations下方,右键点击New Mapreduce Locations

配置如下:

参数提示:Location name:随便取个名字,如ccbhadoop

     Map/Reduce(V2) Master:根据hdfsconfig(可从Ambari的配置界面上查找)中配置dfs.datanode.ipc.address的值填写。

     DFS Master:NamenodeIP和端口,根据core-site.xml中的配置fs.defaultFS的值填写。这个配置非常重要。

  配置成功后可以看到Package Explorer一栏以下信息:

如果打开eclipse时看不到这一栏,可打开Window——》Open Perspective——》Other——》Map/Reduce.如果没有这一项,说明插件未被正确识别。

   打开window——preferences对话框,搜索hadoop,找到“Hadoop Map/Reduce”项,点击Browse...配置hadoop源的路径,也可以将hadoop-2.2.0.2.1.0.0-92复制到其他目录下,但是要在该目录下有lib目录,这样新建hadoop工程时就能自动加载该目录下所有的jar包。

 

   新建mapreduce工程:

   File——》Project——》Map/Reduce Project——》finish

打开工程,可以看到配置路径的jar包已经导入进来:

添加WordCount.java,运行:如果不需要加参数,可直接Run

如需要配置参数,如输入路径输出路径:

右键——Run as——Run Configurations

 

Run.console窗口查看是否运行成功。

可以看到DFS Locations的文件与输入输出路径是对应的

提示:在DFS Locations上显示的文件可以直接右键添加/删除,然后在相应的文件下,右键刷新Refresh

 

Windows下远程连接linuxhadoop集群

  注意:步骤与以上基本一致,为了保证网络畅通,需要主机与Namenode相互之间能ping通即可,(不需要ssh,也不需要安装unix虚拟环境cygwin)。

  Myeclipse8.6版本能连接成功,试过8.5的不能正确识别插件。

  将hadoop-eclipse-plugin-2.2.0.jar重命名为hadoop-myeclipse-2.2.0-plugin.jar,放置在myeclipse8.6/dropins目录下。然后配置过程与以上第2步完全一致。

 

疑问说明:

1.windows远程连接hadoop集群需要安装Cygwin?

网上有很多文章都说通过Cygwin来连接hadoop的,但是我认为hadoop本来是在linux下安装使用的,在windows下安装Cygwin来安装hadoop是为了模拟linux的环境,能够使用linux下的命令脚本,所以最好在linux下环境下安装学习,我就是在VM虚拟机安装了伪分布式的hadoop,先实现与windows的通信(也就是相互ping通),然后在windows下通过myeclipse来开发调试程序,与上面的效果是一致的。

 

 

原文地址:https://www.cnblogs.com/kxdblog/p/4034257.html