如何使用jdb调试hadoop jar作业?

时间:2015-10-17 00:05:58

标签: hadoop jdb

我正在运行像this这样的hadoop工作:

bin/hadoop jar /usr/joe/wordcount.jar org.myorg.WordCount /usr/joe/wordcount/input /usr/joe/wordcount/output

我的问题:如何使用jdb调试此问题?我不需要远程调试。作业在我想要调试的同一台机器上运行。

1 个答案:

答案 0 :(得分:0)

您始终可以将jdb连接到正在运行的进程。

在调试模式下运行Java应用程序的简便方法是使用调试参数运行它:

" -agentlib:JDWP =运输= dt_socket,服务器= Y,暂停= Y,地址= 32887"

启动应用程序后,您始终可以使用jps查找它并使用jdb连接到进程

您还可以导出_JAVA_OPTIONS变量,这样可以使所有JVM都使用这些设置。这样,您启动的任何JVM将始终以调试模式运行。但请记住,只有第一个能够侦听TCP / IP端口。