hadoop CDH3u2

  • 准备好eclipse并创建一个hadoop源码项目,将源码添加倒src path
  • stop jobtracker(/etc/init.d/hadoop-0.20-jobtracker stop)
  • vi bin/hadoop(添加红色部分)
...
elif [ "$COMMAND" = "jobtracker" ] ; then
  CLASS=org.apache.hadoop.mapred.JobTracker
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=
8899"
...

 

  • 启动jobtracker(/etc/init.d/hadoop-0.20-jobtracker start),此时会打印"Listening for transport dt_socket at address: 8899",但是jobtracker尚未启动。
  • 右键hadoop src项目,右键“Debug As”,选择“Debug Configurations”,选择“Remote Java Application”,添加一个新的测试,输入远程host ip和监听端口,上例为8899,然后点击“Debug”按钮,jobtracker此时启动。
  • 在hadoop 源码中添加断点,运行一个job,程序会自动暂停到断点位置,剩下的事情交给你了。

调试mapreduce见我另一篇文章《 远程Hadoop调试——mapreduce函数调试篇》

-- heipark