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

时间:2021-04-30 23:14:01

花了好几天,搭建好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:\Windows\System32\drivers\etc\hosts文件

编辑添加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.

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

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

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

配置如下:

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

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

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

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

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

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

如果打开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

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

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

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

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

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

右键——Run as——Run Configurations:

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

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

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

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

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

Windows下远程连接linux下hadoop集群

  注意:步骤与以上基本一致,为了保证网络畅通,需要主机与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来开发调试程序,与上面的效果是一致的。