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:\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.
在界面上显示的Mapreduce Locations下方,右键点击New Mapreduce Locations:
配置如下:
参数提示: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一栏以下信息:
如果打开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下远程连接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来开发调试程序,与上面的效果是一致的。
HDP2.0.6+hadoop2.2.0+eclipse(windows和linux下)调试环境搭建的更多相关文章
- windows 64位下,React-Native环境搭建详解 (Android)
React-Native环境搭建需要: 1.安装Java JDK 2.安装Android Studio 3.安装node.js 4.安装git 5.安装Python 2.x (注意目前不支持Pytho ...
- 2017.7.18 windows下ELK环境搭建
参考来自:Windows环境下ELK平台的搭建 另一篇博文:2017.7.18 linux下ELK环境搭建 0 版本说明 因为ELK从5.0开始只支持jdk 1.8,但是项目中使用的是JDK 1.7, ...
- Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建
Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建 由于公司里的Solr调试都是用远程jpda进行的,但是家里只有一台电脑所以不能jpda进行调试,这是因为jpda的端口冲突.所以 ...
- 跟我一起,利用bitcms内容管理系统从0到1学习小程序开发:一、IIS下SSL环境搭建
缘起 1.从事互联网十来年了,一直想把自己的从事开发过程遇到的问题给写出来,分享给大家.可是可是这只是个种想法,想想之后就放下了,写出来的类文章是少之又少.古人说无志之人常立志,有志之人立长志.今天, ...
- 从0开始学爬虫9之requests库的学习之环境搭建
从0开始学爬虫9之requests库的学习之环境搭建 Requests库的环境搭建 环境:python2.7.9版本 参考文档:http://2.python-requests.org/zh_CN/l ...
- Windows、Linux下文件操作(写、删除)错误的产生原因、及解决方法
catalog . 引言 . Linux平台上涉及的File IO操作 . Windows平台上涉及的File IO操作 0. 引言 本文试图讨论在windows.linux操作系统上基于C库进行文件 ...
- Eclipse+Tomcat+MAVEN+SVN项目完整环境搭建
1.JDK的安装 首先下载JDK,这个从sun公司官网可以下载,根据自己的系统选择64位还是32位,安装过程就是next一路到底.安装完成之后当然要配置环境变量了. ————————————————— ...
- Windows 和 Linux 下 禁止ping的方法
Windows 和Linux 下 禁止ping的方法 目的: 禁止网络上的其他主机或服务器ping自己的服务器 运行环境: Windows 03.08 linux 方法: Windows 03下: ...
- Windows下Lua+Redis 断点调试环境搭建==Linux下类似
Lua+Redis 断点调试环境搭建 windows环境,使用Redis,写lua脚本头疼的问题之一不能对脚本断点调试,google加上自己的摸索,终于搞定. 1.下载ZeroBraneStudio, ...
随机推荐
- 定时任务schedule(spring boot )
1. 定时任务实现方式:SpringBoot自带的Scheduled,可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多,本文主要介绍. 执行方式:单线程(串行)多线程(并行) ...
- 微信开发获取media_id错误码汇总
微信开发遇到的错误汇总: 1. 错误代码40001 "errcode": 40001, "errmsg": "invalid credentia ...
- mysql has gone away
mysql出现ERROR : (2006, 'MySQL server has gone away') 的问题意思就是指client和MySQL server之间的链接断开了. 造成这样的原因一般是s ...
- 关于define和const
1.通过define定义的常量,在C语言里面一般叫宏定义.define的本质是简单的文本替换. 2.const定义一个变量,但是这个变量的值只能在定义的时候赋予,之后就不能被更改了. 如果变量声明中带 ...
- C#基础(二)--之数据类型
在第一章我们了解了C#的输入.输出语句后,我这一节主要是介绍C#的基础知识,本节的内容也是后续章节的基础,好的开端等于成功的一半.在你阅读完本章后,你就有足够的C#知识编写简单的程序了.但还不能使用继 ...
- 【原创】源码角度分析Android的消息机制系列(四)——MessageQueue的工作原理
ι 版权声明:本文为博主原创文章,未经博主允许不得转载. MessageQueue,主要包含2个操作:插入和读取.读取操作会伴随着删除操作,插入和读取对应的方法分别为enqueueMessage和ne ...
- 一次saltstack环境变量的坑
现场环境: salt-minion端: ip:10.0.3.149 环境:使用 nvm装的nodejs 受用nodejs自带的npm 安装pm2 sal-master端: IP:10.0 ...
- java中队列Queue的使用
1.在java5中新增加了java.util.Queue接口,用以支持队列的常见操作.Queue接口与List.Set同一级别,都是继承了Collection接口.Queue使用时要尽量避免Colle ...
- 优雅使用 illuminate/database 包中的 Collection
优雅使用 illuminate/database 包中的 Collection 或许你很抵抗使用 Laravel , 但是你没有理由不喜欢使用 illuminate/database.这是一个 ORM ...
- Linux下配置SNAT上网
局域网有一台主机A,没有公网的IP, 也就是没有办法直接连到互联网上下载东西,同时内网有另外一台主机B,有公网接入.这个时候为了让A连接到互联网,我把B设置成NAT主机,A的网关指向B.准确的来说,现 ...