读书人

调试hadoop的小技能

发布时间: 2012-06-26 10:04:13 作者: rapoo

调试hadoop的小技巧

在调试hadoop的时候,你第一点需要明确需要调试哪个类,然后调试时的上下文参数大概是什么样的,在上一篇里我讲了如何设置hadoop的调试,这里分享一点小的调试技巧。?

?

?

例如我需要知道调试的类和上下文参数,那其实在启动脚本里就有的,我们不妨在启动时将这些输出来看,例如在hadoop的

?

Python代码??调试hadoop的小技能
  1. exec?"$JAVA"?$JAVA_HEAP_MAX?$HADOOP_OPTS?-classpath?"$CLASSPATH"?$CLASS?"$@"??

?

???? 这一行上面增加如下的echo语句

?

Python代码??调试hadoop的小技能
  1. echo?"opts=$HADOOP_OPTS"??????#一些额外设置的参数??
  2. #echo?"classpath=$CLASSPATH"??#这个是所有的jar路径??
  3. echo?"class=$CLASS"???#具体的调试类??看main函数??
  4. echo?"params=$@"??????#传递的参数??

?

?? 例如运行

?

Python代码??调试hadoop的小技能
  1. hadoop??dfs?-ls????

??? 将得到如下输出

?

Python代码??调试hadoop的小技能
  1. opts=??-Dhadoop.log.dir=/home/dikar/Program/hadoop-0.20.2/bin/../logs?-Dhadoop.log.file=hadoop.log?-Dhadoop.home.dir=/home/dikar/Program/hadoop-0.20.2/bin/..?-Dhadoop.id.str=?-Dhadoop.root.logger=INFO,console?-Djava.library.path=/home/dikar/Program/hadoop-0.20.2/bin/../lib/native/Linux-i386-32?-Dhadoop.policy.file=hadoop-policy.xml??
  2. class=org.apache.hadoop.fs.FsShell??
  3. params=-ls??

?

?? 则知道调试时是需要进入? FsShell这个类

更多信息请查看?java进阶网?http://www.javady.com

读书人网 >开源软件

热点推荐