開啓flume的遠程調試功能

各類組件,好比tomcat、storm、flume,咱們均可以經過JMX方式開啓遠程調試,主要能夠用來跟蹤源碼,瞭解程序內部的運行機制,其次,也有利於你修改源碼。java

首先,本質上是要修改flume自己啓動的配置文件的jvm配置部分。tomcat

找到flume目錄下的bin文件夾,下面會有個flume-ng文件,這即是flume自己啓動腳本所在,找到以下部分:eclipse

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

能夠看到這是配置jvm部分,替換爲JMX遠程調試配置,這種配置網上不少,個人以下:jvm

# 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。socket

好了,到了這裏,你能夠在eclipse裏面開啓遠程調試模式,具體以下:oop

new一個,而後進行配置,主要是主機IP和上面那個port,以下:學習

而後,eclipse導入flume源碼,盡情享受調試源碼的樂趣吧,你也能夠隨意修改。debug

 

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

相關文章
相關標籤/搜索