摘要
调试是学习代码流程,查找BUG,修复错误的重要方法,本文内容主要是讲述在前两篇内容的基础上如何配置Idea和hadoop以使其可以使用远程调试(打断点、逐行运行等)功能
Idea 设置
首先需要将hadoop源码的maven工程导入idea中(这个就不讲了),导入后呢我们可以在模块hadoop-hdfs-project 下找到hadoop namenode启动的源码(在package:org.apache.hadoop.hdfs.server.namenode中,前边第二节我们修改过的)我们在其第一行设置一个断点
然后依次点击【Run】—【EditConfiguration】在弹出的窗口中点击左上角+号选择remote,如下图所示
修改名称为Debug namenode,修改端口号为8888
在这里注意
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8888
我们对这行代码就行一个简单修改,要将其放到hadoop的启动脚本当中
最后点击【OK】保存即可。
hadoop设置
接下来我们需要把下边这段代码放到hadoop启动脚本中合适的位置