打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何远程调试Hadoop代码

如何远程调试Hadoop代码

142人阅读评论(0)收藏举报

通常情况下,我们只是通过已经编译好的Hadoop jar包来运行Hadoop。如果我们更改了Hadoop的源码,希望对更改的代码进行远程调试,可以通过下面的步骤来进行:

 

1. 下载从Apache社区或者Cloudera网站上下载Hadoop的压缩包

2. 在eclipse中创建一个java工程,并将该压缩包导入其中,建议在linux开发环境下完成

3. 对Hadoop代码更改后,在linux命令行下运行: "ant jar",重新生成新的jar包

4. 将更改后的Hadoop部署到远程的linux server上,假设为一个name node,两个data node的场景,并且要调试name node(IP是10.10.10.2)

5. 在name node的Hadoop bin目录下运行: "cp hadoop hadoop-debug",复制一个新的脚本

6. 在hadoop-debug脚本中的最后一行进行如下改动:

 

  1. #exec "$JAVA" $JAVA_HEAP_MAX $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"  
  2. exec "$JAVA" -Xdebug -Xrunjdwp:transport=dt_socket,address=9090,server=y,suspend=y $JAVA_HEAP_MAX $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"  

 

7. 运行: "hadoop-debug namenode -format",这个时候命令会挂起,等待调试器连接9090端口,如:

  1. #./hadoop-debug namenode -format    
  2. Listening for transport dt_socket at address: 9090  

 

8. 回到开发端,在eclipse中右键选择NameNode.java->Debug As->Debug Configuration,进行如下配置:

9. 点击Apply,然后Debug,就可以连接到name node上进行调试了。远程调试和本地调试区别不大,同样可以设置断点等操作。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
使用Eclipse搭建Node.js开发环境
Android Studio动态调试第三方APK
Android中动态方式破解apk第一篇
hive安装
多租户云环境中的性能分析
Linux下hive安装及测试
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服