hadoop2.2.0 源码远程调试

标签: hadoop2 源码 调试 | 发表时间:2014-08-24 00:34 | 作者:zhouchaofei2010
出处:http://www.iteye.com

http://blog.sina.com.cn/s/blog_5ccc692d0101pikf.html

 

学习hadoop2.2.0,远程调试hadoop源码

 

note: 只在linux上面调试,windows下面会有脚本执行的问题,可能需要安装cygwin可以解决.

1 把编译好的hadoop源代码导入eclipse
   hadoop2.2.0 <wbr>源码远程调试

 

2 如果要调试hdfs,修改~/hadoop-2.2.0/bin/hdfs
  elif [ "$COMMAND" = "dfs" ] ; then
  CLASS=org.apache.hadoop.fs.FsShell
  HADOOP_OPTS="$HADOOP_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=6666,server=y,suspend=y"
  HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
 
  监听设置在这个位置,suspend=y,就是说操作dfs命令时候会挂起在6666端口,进程会暂停,直到有客户端来连接这个端口,比如eclipse远程调试。
   hadoop2.2.0 <wbr>源码远程调试

 

 
3 eclipse打开远程调试
   hadoop2.2.0 <wbr>源码远程调试

 

4 要调试其他功能,根据脚本来设置监听即可
5 如果调试自己写的mapreduce(伪分布式,mapreduce采用local方式,保证使用单个jvm情况下,否则会有静听端口冲突),修改~/hadoop-2.2.0/bin/hadoop
   #exec "$JAVA" $JAVA_HEAP_MAX $HADOOP_OPTS $CLASS "$@"
   exec "$JAVA" -Xdebug -Xrunjdwp:transport=dt_socket,address=54321,server=y,suspend=n $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"
   修改~/hadoop-2.2.0/etc/hadoop/mapred-site.xml为local模式
    hadoop2.2.0 <wbr>源码远程调试

执行hadoop jar ***.jar classname param...

即可进入远程debug模式。


已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [hadoop2 源码 调试] 推荐:

hadoop2.2.0 源码远程调试

- - 数据库 - ITeye博客
学习hadoop2.2.0,远程调试hadoop源码. note: 只在linux上面调试,windows下面会有脚本执行的问题,可能需要安装cygwin可以解决.. 1 把编译好的hadoop源代码导入eclipse. 2 如果要调试hdfs,修改~/hadoop-2.2.0/bin/hdfs.   监听设置在这个位置,suspend=y,就是说操作dfs命令时候会挂起在6666端口,进程会暂停,直到有客户端来连接这个端口,比如eclipse远程调试.

hadoop源码调试跟踪方法

- - 开源软件 - ITeye博客
最近经常有问我hadoop源码怎么看的问题,做以下讲解希望有用(hdfs调试为例). 1.在eclipse中建立java工程,然后把hadoop的src包中的内容拷贝到src资源下(仅org的即可). 2.导入hadoop中lib目录下的jar直到代码不再报错. 3.搭建一个hadoop的集群,我的测试环境是1个nn和3的dn.

nginx源码分析--GDB调试

- - CSDN博客架构设计推荐文章
利用gdb[i]调试nginx[ii]和利用gdb调试其它程序没有两样,不过nginx可以是daemon程序,也可以以多进程运行,因此利用gdb调试和平常会有些许不一样. 当然,我们可以选择将nginx设置为非daemon模式并以单进程运行,而这需做如下设置即可:. master_process off; 这是第一种情况:.

Log调试

- - ITeye博客
在开发中我们一定不能避免使用Log类,但是这个类存在一个问题就是,当你在程序中使用了大量的Log,那么在程序开发完毕的时候,这将是一个问题,因为,你需要将所有的Log记录注释掉(当然,你不注释也是可以的). 我们可以写一个类,将Log类包装起来,使用一个boolean来控制所有的Log记录的显示. public static final boolean isDebug = true;//这里控制所有Log的显示情况.

Python调试

- - 企业架构 - ITeye博客
原文地址: http://blog.csdn.net/xuyuefei1988/article/details/19399137. 1、下面网上收罗的资料初学者应该够用了,但对比IBM的Python 代码调试技巧:. IBM:包括 pdb 模块、利用 PyDev 和 Eclipse 集成进行调试、PyCharm 以及 Debug 日志进行调试:.

前端调试技巧(PC调试)

- - 掘金 前端
前端工作中,不仅编码很重要,重现bug,解决bug的能力同样重要. 本文就一些调试技巧做出总结,不足之处,欢迎大家多多补充. 在你觉得有问题的代码处,加上一句 console.log() 就好了. 然后在开发者工具控制台就可以看到你打印出来的东西了. 在代码中添加 debugger 语句,当代码执行到该语句的时候就会自动断点.

远程调试Tomcat

- - ITeye博客
  这种情况下只能通过查看远程服务器上的log来调试,如果出现unknown source说明编译的时候没有加入行号的信息,按如下修改.   a)通过javac编译时,默认相当于指定-g:source,lines,这样编译出来的class文件中会包含源代码和行号信息.   b)而通过ant编译时,默认相当于指定-g:none,这样编译出来的class文件会比较小,但是不包含任何调试信息,所以出错的时候就会打印出unknown source.

gdb调试工具

- - CSDN博客系统运维推荐文章
查看帮助一是man 命令,二是进入 www.gnu.org,找到gdb的帮助文档(更详细). gcc -Wall -g main.c -o main,只有这样才能产生调试信息,包括core的调试信息.     run(r)  运行,执行到断点,重新用r,表示重新开始执行.     list(l)  列出源代码,l 2,l main,l 2,16(数字表示行数).

python代码调试

- - 阿里古古
【转自: http://blog.csdn.net/luckeryin/article/details/4477233】. 本文讨论在没有方便的IDE工具可用的情况下,使用pdb调试python程序. 例如,有模拟税收计算的程序:. debug_demo函数计算4500的入账所需的税收. 在需要插入断点的地方,加入红色部分代码:如果_DEBUG值为True,则在该处开始调试(加入_DEBUG的原因是为了方便打开/关闭调试).

Linux程序调试

- - C++博客-首页原创精华区
Linux下的段错误产生的原因及调试方法    原文地址: http://www.upsdn.net/html/2006-11/775.html .    参考地址: http://www.cnblogs.com/khler/archive/2010/09/16/1828349.html .