hadoop2.2.0 源码远程调试

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>源码远程调试

 

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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值