開啟flume的遠程調試功能


各種組件,比如tomcat、storm、flume,我們都可以通過JMX方式開啟遠程調試,主要可以用來跟蹤源碼,了解程序內部的運行機制,其次,也有利於你修改源碼。

首先,本質上是要修改flume本身啟動的配置文件的jvm配置部分。

找到flume目錄下的bin文件夾,下面會有個flume-ng文件,這便是flume本身啟動腳本所在,找到如下部分:

# set default params
FLUME_CLASSPATH=""
FLUME_JAVA_LIBRARY_PATH=""
JAVA_OPTS="-Xmx20m"
LD_LIBRARY_PATH=""

可以看到這是配置jvm部分,替換為JMX遠程調試配置,這種配置網上很多,我的如下:

# set default params
FLUME_CLASSPATH=""
FLUME_JAVA_LIBRARY_PATH=""
JAVA_OPTS="-Xmx20m -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y"
LD_LIBRARY_PATH=""

這里設定了遠程調試的port:8787。

好了,到了這里,你可以在eclipse里面開啟遠程調試模式,具體如下:

new一個,然后進行配置,主要是主機IP和上面那個port,如下:

然后,eclipse導入flume源碼,盡情享受調試源碼的樂趣吧,你也可以隨意修改。

 

PS:源碼調試是一個學習源碼的快速途徑,很多組件,諸如storm,tomcat,hadoop等等都可以這樣進行JMX配置,大同小異。


免責聲明!

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



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