遠程調試Hadoop(轉)


試了一下,如果Hadoop是本地的話啟動hadoop會報錯。

 

在調研JobTracker等異常問題時經常需要遠程debug以實現單步跟蹤。相對於打印日志,遠程調試更方面更快捷,信息也更全面。這里列出遠程調試的基本步驟。

1、配置jvm選項啟用遠程debug

Hadoop的所有deamon啟動都是bin/hadoop腳本實現的,該腳本最后一行會執行java命令來啟動JVM進程。因此要啟用遠程debug,只需要修改該腳本最后一行即可。

修改前最后一行如下:

exec "$JAVA" $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"

修改之后最后一行如下:

exec "$JAVA" -Xdebug -Xrunjdwp:transport=dt_socket,address=50010,server=y,suspend=n $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"

這里新增的jvm參數為:

-Xdebug -Xrunjdwp:transport=dt_socket,address=50010,server=y,suspend=n

這些參數的含義是在端口50070啟動一個server socket並通過Java Debug Wire Protocol (jdwp)傳遞調試信息。suspend=n表示客戶端(eclipse)沒有連上時不需要掛起,即沒有開始調試時該進程照常運行。

需要注意的是這里的端口號一定要是空閑的且對外開放的。通常生產機器只開通了少量端口。


2、配置eclipse來遠程調試

a、啟動eclipse

b、點擊菜單的 Go to Run -> Debug Configurations


c、在配置界面上找到Remote Java Application然后右鍵新建一個


d、配置遠程應用的鏈接信息

這里主要是填好主機名及端口號。


f、最后一步點擊 Apply保持配置然后點擊Debug即可開始遠程調試了


注意的是調試要選用Debug perspective微笑


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM