博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hadoop的调试
阅读量:7241 次
发布时间:2019-06-29

本文共 1367 字,大约阅读时间需要 4 分钟。

  折腾hadoop的调试很久了,一直都没折腾对,查过很多资料,但是都没试出来,最终在不断地尝试当中调试出来了,所以想把这个过程记录下来,和大家分享一下。

     调试分为两部分,MapReduce的调试和源码的调试。

      MapReduce的调试很简单,首先要部署好hadoop,这个我就不说了,自己去百度。部署好之后,下载Hadoop对应的eclipse插件,有了这个插件之后,变得异常简单。

  这是我在网上下的hadoop1.1.2的eclipse插件的地址:。

  下载完毕之后,把它放入eclipse目录的dropins文件夹中即可,然后重启eclipse。

  打开windows preferences 中,发现有Hadoop Map/Reduce就说明已经成功了。

     打开window show View ,选择Map/Reduce Locations

编辑Map/Reduce Locations

修改成实际的Ip地址和端口即可。

  设置完毕,开始新建工程。

 

  点击File,新建工程,选择Map/Reduce Project.

     新建工程之后,然后新建一个类,我们可以把工程里面的examples里面的WorkCount拿出来试验一下,直接点调试即可开始,就像我们正常调试程序一样。examples里面还提供了其他很多的例子,大家可以去看看挺好的。

  好了,现在我们开始进入hadoop源码的调试当中,在调试之前我们首先要把源码处理成不报错的状态。

      把源码导入eclipse当中,源码可以在发布版的hadoop的src文件夹中找,然后我们导入jar,右键点击属性,选择java Build path,点击add jars,把发布版的lib文件夹中所有的jar包都导入。

 

       然后我们再点击Source标签页,去掉多余的内容,我们只需要编译核心的几个目录即可,多编译因为缺少一些别的jar包报错,比如ant的。

       先删掉原来的src目录,然后重新添加,我点Add Folder添加了一下目录,别的我就没有编译了。

      

 

       然后再点击左侧的Java Compiler,选择子项Error/Warnning ,如下图所示,把Error改成Warning.

 

         点击Ok,设置完毕,可以开始Build啦。

         好,我们打开hadoop生产环境下的bin目录下的hadoop,我们以调试NameNode为例子,找到elif ["COMMAND" = "namenode"]这一段,在HADOOP_OPTS

         的字符串后面,添加-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000。

         其中suspend表示是否挂起等待调试连接,这里我没有让它挂起,有需要的朋友可以改成y,让它挂起,那样效果很明显,一直等着你连接。

         这边就算设置完毕了。可以启动hadoop,命令行会出现,8000端口已经被监听的提示,然后在Eclipse这边打开NameNode的代码,打上断点,然后打开Debug Configurations 面板,在左侧选择Remote Java Application,如下图:

        点击Debug,然后进入熟悉的debug页面就是成功啦!

        分享结束,有什么不明白可以留言。

       

 

        

 

       

 

 

     

     

 

    

转载地址:http://ifybm.baihongyu.com/

你可能感兴趣的文章
fedora出现rpm的公钥未安装
查看>>
Raspberry pi设置自动拨号,搭建无线路由环境
查看>>
我的友情链接
查看>>
Linux 查看进程跟端口
查看>>
unittest笔记
查看>>
CCNA之STP
查看>>
xcode7与xcode8的星球大战
查看>>
Can't locate Switch.pm in INC的解决
查看>>
对HashMap的思考及手写实现
查看>>
git 命令大全
查看>>
“入乡随俗,服务为主” 发明者量化兼容麦语言啦!
查看>>
Spring MVC 到 Spring Boot 的简化之路
查看>>
想要去阿里面试?你必须得跨过 JVM 这道坎!
查看>>
Dubbo 实践,演进及未来规划
查看>>
拥有Schnorr签名的比特币现金
查看>>
iOS核心动画笔记1-图层的树状结构
查看>>
我的友情链接
查看>>
linux 的文件类型总结文档
查看>>
[扩展推荐]Laravel User Agent 轻松识别客户端信息
查看>>
MySQL5.5 Hot Backup Config
查看>>