设为首页 收藏本站
查看: 662|回复: 0

[经验分享] 基于Eclipse的Hadoop应用开发环境的配置

[复制链接]

尚未签到

发表于 2016-12-10 09:52:30 | 显示全部楼层 |阅读模式
  基于Eclipse的Hadoop应用开发环境的配置
  DSC0000.jpg (2009-01-22 22:17:54)转载

标签: eclipse
 开发环境
 应用开发
 ibm
 hadoop
 云计算
 ubuntu
 cloud
computing
 it
分类: 技术特区

基于Eclipse的Hadoop应用开发环境的配置
配置好了Hadoop运行环境,下一步就要配置,开发环境了。实际上开发环境很好配置,网上很多的帖子,都指向了IBM提供的Hadoop开发工具,这个工具很好用。大家打开这个网址,很容易就能Step by step搞定,http://www.alphaworks.ibm.com/tech/mapreducetools。但是细心的读者不难发现,这个工具似乎是个绝版,到现在似乎还是停留在2007年3月23日呢,而且其支持的Eclipse也是3.3的,Hadoop更是0.17的。很多人在forum上还抱怨,安装上这个工具后,报出错误:Refresh DFS Children has encountered a problem:Refreshing DFS node failed: 1。呵呵,这个问题我也遇到了,我也很郁闷。我心里也在骂IBM这帮官僚如此不思进取。
这两天我在装载Hadoop Core的Examples测试,由于想要多了解些Hadoop,于是就打开了Hadoop的每个子目录,在打开/hadoop-0.19.0/contrib/意外发现了eclipse-plugin,心里不禁窃喜,不知道是不是IBM的这个工具的升级版移到这里还是其他什么原因,工具不是在这里吗?只不过与以前不同,是个jar包!我把hadoop-0.19.0-eclipse-plugin.jar,拷贝到eclipse-SDK-3.4-win32\eclipse\plugins下面,启动eclipse,居然真的安装成功了,真的是该工具的升级版,也没有了那个错误!真的是很意外!界面是这样滴,选择Window->Open Perspective,可见到一个窗口,里面有一个小象图标:Map/Reduce,点击它,会打开一个新的Perspective。然后点击Window->Show View,可以打开一个View,如图1所示,
 
DSC0001.jpg
图1

在这个View中,我们可以创建一个或多个Hadoop运行环境,这个运行环境,有点像,在Eclipse中配置JDBC数据库连接一样。如图2,图3所示:
 
DSC0002.jpg
图2
DSC0003.jpg
图3

配置完成以后,显示如图1左边的树形结构一样,这很像在Eclipse配置了,Tomcat的Server项目一样。配置完成以后,显示如图1左边的树形结构一样,这很像在Eclipse配置了,Tomcat的Server项目一样。
你点击view中的小象图标,很可能会报一个错误:
Cannot connect to the Map/Reduce location: hadoop@ubuntu1
java.io.IOException: Unknown protocol to name node: org.apache.hadoop.mapred.JobSubmissionProtocol
 at org.apache.hadoop.dfs.NameNode.getProtocolVersion(NameNode.java:84)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:585)
 at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:452)
 at org.apache.hadoop.ipc.Server$Handler.run(Server.java:888)
我也遇到这个问题,很让我郁闷,我愿想是不是我的服务器哪里出了问题?后来才知道,是我的端口配置错误了,我在hadoop-site.xml中不是配置了:
<property>
<name>fs.default.name</name>
<value>hdfs://ubuntu1:9000</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>hdfs://ubuntu1:9001</value>
</property>
这两个端口很重要,9000是namenode的监听端口,而9001是jobtracker的监听端口,在图3的界面上新建DFS location时候,可以看到Map/Reduce Master,当时我还没弄明白,这是什么意思,现在才知道,这是jobtracker所在机器及监听端口,于是我设置成:host=ubuntu1,port=9001,而DFS Master中勾选Use M/R Master Host(意思是:是否使用与JobTracker相同的主机?)我的当然是勾上。端口当然也就是9000了,即host=ubuntu1,port=9000。
于是,连接the Map/Reduce location就不会再出现错误了。下面的用户是cdh,因为我的所有的ubuntu都是cdh的用户的。

我们可以用Web的方式来查看这个两个端口是否工作正常,namenode的Web访问端口是50070,由于我的namenode是建立在ubuntu1上的,因此,我要用Web方式访问namenode,那么在浏览器中敲入地址:http://ubuntu1:50070,你就会看到一个页面,如下图4:
DSC0004.jpg
图4
 
而9001是也是可以用Web方式来访问的,我的namenode和jobtracker是在一台机器上的,网址是http://ubuntu1:50030,如果你配置成功,可以打开如下图5的页面:
DSC0005.jpg
图5
tasktracker可以Web方式访问,由于我的tasktracker是建立在ubuntu2上的,因此网址是:http://ubuntu2:50060,如果你配置成功,可以打开如下图6的页面:
DSC0006.jpg
图6
 
为了能找到本地的Hadoop安装目录,打开Window->Preferences->Hadoop Map/Reduce,将本地的Hadoop安装目录添加进来,这个安装目录实际上就是把hadoop-0.19.0.tar.gz用解压工具解压到一个目录下面。这个目录就是安装目录。我的就是F:\hadoop-0.19.0。如图7所示:
DSC0007.jpg
图7

点击File->New->Other,在弹出的窗口中会有Map/Reduce项目,如图8所示:
DSC0008.jpg
图8
 
点击下一步,如图9所示,
DSC0009.jpg
图9
 
再点击下一步,如图10所示,点击Finish就成了。
DSC00010.jpg
图10
 
右键点击自己所创建的项目,进入到Properties,打开界面如图11所示,可以在Java Build Path中,设置源代码和Java Doc路径,这样,你就可以看到Hadoop的所有Core源代码了,呵呵
DSC00011.jpg
图11

右键点击项目中的src,可以添加Mapper类,Reducer类,以及MapReducerDriver类,向导会自动为你生成这三个类的Framework。这对于新手尤其重要。如图12所示:

图12

编写完你的代码以后,你可以点击你的Driver类->Run on hadoop,来运行你的Hadoop应用,这个运行是工具自动打包成jar,部署到Hadoop环境上去运行的。呵呵,至此,开发环境就配置好了,你可以尽情地享用Hadoop带给你的快乐了!祝大家在2009年的云计算的开发中,其乐无穷!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-312223-1-1.html 上篇帖子: [Hadoop]转载-avro数据序列化简介 下篇帖子: Eclpse 编写代码远程连接Hadoop报错.求解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表