利用eclipse遠程調試模式搭建一個調試hadoop源碼的環境

1、 利用eclipse遠程調試模式搭建一個調試hadoop源碼的環境,抓圖證明搭建成功。

1) 軟件準備:

http://www.sparxsystems.cn/products/index.html下載EACN_TrialEAEclipse_Integration

2) 安裝上面兩個軟件,在安裝EAEclipse_Integration的過程中有個過程需要選擇你的eclipse的安裝路徑,注意一定要選擇正確,當安裝完成後會在ecliple的菜單欄上多了一個菜單,如下圖所示:

1.png


3)
Eclipsehadoop插件安裝在這裏就不詳細介紹了,新建一個Java Project

2.png


4)
右鍵點擊你新建項目的src目錄,選擇import,然後選擇你的Hadoop源碼包路徑,如下圖所示:

按照上面方法將mapredcoretools等包含org的包都導進來,然後把hadoop目錄下的lib包都導進項目裏面來,最後結果如下圖所示:

3.png


4.png

5.png

5)EA中新建一個項目,創建一個Class Model視圖,右鍵點擊Class Model視圖,如下圖所示:

6.png


點擊上圖的Options,如下所示,選擇你的eclipse的路徑:

7.png


6)
建立源碼的類圖,右鍵點擊Class Model,選擇擴展-eclipse合併,如下圖:

8.png


在上圖中選擇與eclipse合併後進入如下界面,我們以conf下的包爲例將類導入EA中:

9.png


在上圖中點擊go後,在EA中生成如下圖所示的類:

10.png


選擇上圖中的4個類,拖入左邊界面,如下圖所示:

11.png


選擇連接,點擊確定,如下圖:

12.png


整個源碼環境的建立、導入以及建立類圖的過程完成,下面進行遠程調試的環境搭建。

7) 修改$HADOOP_HOME/bin下的hadoop文件:

elif ["$COMMAND" = "namenode"]; then CLASS='org.apache.hadoop.hdfs.server.namenode.NameNode'HADOOP_OPTS="$HADOOP_OPTS $HADOOP_NAMENODE_OPTS"

改爲:

elif [ "$COMMAND" = "namenode" ] ; then

CLASS='org.apache.hadoop.hdfs.server.namenode.NameNode'

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

8) 啓動hadoop

13.png


9)
eclipse源碼中選擇NameNode.java,右鍵點擊,選擇Debug ASDebug Configurations 進入下圖所示界面

14.png


在上圖中選擇Remote Java Application,點擊新建,增加一個NameNodeDebug,具體配置如上圖所示。點擊Debug就可以進行調試了。

調試界面如下圖所示:

15.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章