在《在eclipse下编译hadoop2.0源码》一文中,我详细介绍了如何在eclipse环境和命令行环境下编译hadoop2.0源代码,并简单介绍了如何构建hadoop环境,这篇文章将着重介绍如何在eclipse下调试源代码。html
在hadoop2.0中,经常使用的模块有NameNode,DataNode, ResourceManager, NodeManager, FsShell等。这里咱们以调试FsShell和NameNode模块为例。java
FsShell命令调试:eclipse
FsShell命令是hadoop的Client端(任何hadoop集群上的节点均可以做为Client端)访问hadoop集群的最基本方式。好比 bin/hadoop fs 命令就是客户端访问hadoop文件系统的命令集。咱们以bin/hadoop fs -ls / (显示hadoop文件系统根目录下的文件)为例。函数
由于调试的FsShell须要hadoop运行时环境,因此首先应当启动hadoop集群。启动过程这里不作介绍,启动成功之后,咱们在Client端输入命令, 会显示以下图所示的信息:oop
这就表示调试环境已经建好并在8000端口开始监听调试请求。下面是在eclipse开始调试的步骤spa
NameNode调试:命令行
NameNode调试和上面的调试步骤基本相似,下面只作简单的介绍。3d
改成调试
其中,suspend=n,若是设置为y,则能够调试NameNode的启动过程。htm
关于eclipse调试hadoop2.0的内容就介绍到这里。如今咱们就能够利用调试跟踪hadoop的执行流程,更深刻的分析hadoop源代码。 最后甚至能够修改hadoop源代码,加入本身须要的功能。
本文来自博客园,若是查看原文请点击 http://www.cnblogs.com/meibenjin/p/3175679.html