日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Eclipse远程调试HDP源代码

發布時間:2024/9/5 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Eclipse远程调试HDP源代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??? 使用的是自己編譯的HDP2.3.0的源代碼編譯的集群,此文介紹如何使用Eclipse遠程調試Hadoop內核源代碼,以調試namenode為例進行介紹。

??? 在/usr/hdp/2.3.0.0-2557/hadoop-hdfs/bin/hdfs.distro 目錄下,添加如下內容,這個內容是讓namenode在啟動的時候,打開調試模式:

???

??? 圖片中的代碼是(不要寫錯了):

HADOOP_OPTS="$HADOOP_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=8002,server=y,suspend=n"

??? 然后使用腳本啟動namenode進程:

[root@n124 sbin]# ./hadoop-daemon.sh --script hdfs start namenode starting namenode, logging to /var/log/hadoop/root/hadoop-root-namenode-n124.ccsdp.com.out Listening for transport dt_socket at address: 8002 [root@n124 sbin]# jps 7635 NameNode 7744 Jps 1944 AmbariServer [root@n124 sbin]# pwd /usr/hdp/2.3.0.0-2557/hadoop/sbin

這樣設置以后,NameNode這個進程會監聽兩個端口,其中一個就是8002,如下圖:

Eclipse中的設置如下,Debug-> Debug configurations->Remote Java Application

?

?

在eclipse中,如下位置打一個端點:

?

設置好Eclipse后,在shell中,使用命令行在hdfs中創建一個文件夾:

[root@n124 sbin]# hadoop fs -mkdir /user/root/zhangchao

可以看到Eclipse中的代碼進入調試模式,然后就可以一步一步的進行調試,查看到每一步運行的情況:

?

調試的過程中,將Eclipse的進程優先級設置成Very high,可以讓Eclipse的反映快不少,如果用默認的優先級,Eclipse將會非常卡:

在調試的過程中,發現ipc/Server.java這個文件中的,run方法,會不斷的監聽來自datanode的心跳數據,這個地方如果打上端點,會不斷的被中斷:

在Shell上,創建一個目錄 hadoop fs -mkdir /user/zhangchao/32,然后可以在調試的過程中,發現ClientProtocol.mkdirs從客戶端傳遞到server:

?

轉載于:https://www.cnblogs.com/justinzhang/p/5301140.html

總結

以上是生活随笔為你收集整理的Eclipse远程调试HDP源代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。