该作业运行在我要调试的同一台机器上。
我正在运行这样的hadoop作业:
bin/hadoop jar /usr/joe/wordcount.jar org.myorg.WordCount /usr/joe/wordcount/input /usr/joe/wordcount/output
我的问题:我如何用jdb
调试这个?我不需要远程调试。
始终可以将jdbc连接到正在运行的进程。
在调试模式下运行Java应用程序的简单方法是使用调试参数运行它:
" -agentlib: jdwp =运输= dt_socket, server = y,暂停= y,地址= 32887"
应用程序启动后,您可以使用jps查找它,并使用jdb
连接到进程您还可以导出_JAVA_OPTIONS变量,这样可以使所有jvm使用这些设置。这样,您启动的任何JVM都将始终以调试模式运行。但是请记住,只有第一个能够侦听TCP/IP端口。