构建完成Hadoop项目后,接下来就应该跟踪Hadoop的运行情况,比如在命令行执行hadoop namenode–format时执行了Hadoop的那些代码。当然也可以直接通过阅读源代码的方式来做到这一点,但跟踪代码的执行情况更加直观,更容易理解。
动手配置Eclipse调试Hadoop之前,先大概学习一下JPDA(Java Platform Debugger Architecture,Java平台调试结构)。JPDA是一个多层的调试架构,使工具开发者可以容易地创建跨平台的,跨VM实现和JDK版本的调试器。JPDA包含三层:
- JVM TI:Java VM ToolInterface,定义了VM提供的调试服务。
- JDWP:Java DebugWire Protocol,定义了调试器进程和debuggee之间的通讯。Debuggee是正在被调试的进程,包含正在被调试的应用程序,运行该应用 程序的VM和后端的调试器。
- JDI:Java DebugInterface,定义了高层次的Java接口,该接口允许工具开发者容易地编写远程调试器应用程序。
JPDA的结构图如下所示:
在简单介绍了JPDA的基本信息后(非常粗浅,更深入的学习可以参考Java的