当前位置: 代码迷 >> java >> 如何在Eclipse上调试Yarn应用程序?
  详细解决方案

如何在Eclipse上调试Yarn应用程序?

热度:108   发布时间:2023-07-18 08:57:20.0

我从MRAppMaster.java代码开始,我想对其进行调试以了解纱线应用程序的原理。

我将整个已编译的hadoop代码导入Eclipse。

我在本地Linux上全部运行hadoop。

4504 ResourceManager 
4066 DataNode 
4761 NodeManager 
5068 JobHistoryServer 
4357 SecondaryNameNode 
3833 NameNode 
5127 Jps

在hadoop-env.sh中:

HADOOP_OPTS="$HADOOP_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9000"

然后我跑:

bin/hadoop jar path/to/hadoop-mapreduce-examples-2.2.0.jar wordcount /wordcount /output

然后,我在MRAppMaster.java和RunJar.java中设置断点。 然后在Eclipse中开始调试。

它仅在以下位置停止:

Thread [main] (Suspended (breakpoint at line 342 in JobSubmitter)) 
JobSubmitter.submitJobInternal(Job, Cluster) line: 342 
...
RunJar.main(String[]) line: 212

如何调试到MRAppMaster.java?

对您来说已经很晚了,但是我也陷入了同样的问题,并且想出了解决方案,因此将其发布在这里。 首先,如果您要调试MR作业,请进行说明。 如果您正在寻找调试TEZ作业,则应在tez-site.xml中添加以下内容

<property>
  <name>tez.am.launch.cmd-opts</name>
  <value>-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=7070</value>
</property>
  相关解决方案