最近又要自定义开发flume source 插件,每次插件打包后运行,不能再编译器里debug 感觉好苦恼。于是今天就看了一下flume 的远程调试。一看感觉挺简单的。所以就分享一下。
远程调试flume其实就四步,第一步开启flume的远程调试,第二步拉取flume 源码导入到idea中。第三步在 idea 中配置远程机器的ip 和调试端口号。第四步:将自定义开发插件源码粘贴到源码中,启动flume 进行调试。
废话不多说粘配置了:
修改flume的启动脚本flume-ng ,找到这段代码
# set default paramsFLUME_CLASSPATH=""FLUME_java_LIBRARY_PATH=""JAVA_OPTS="-Xmx20m"LD_LIBRARY_PATH=""修改 JAVA_OPTS 为
JAVA_OPTS="-Xmx20m -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y"此时已经打开了flume的远程调试,远程调试端口为 8000
拉取源码到idea https://github.com/apache/flume
添加配置:
添加一个remote 配置
配置运行flume 远程主机的ip 和调试端口号:
这个时候就可以把自己写的flume插件的代码粘贴到flume中(随便位置打上断点 )然后启动flume 进行调试。
当然 开发的flume插件的jar包应该在远端运行flume的机器上,实际运行的flume配置也是远端flume的配置。启动flume :
此时启动idea 的debug 模式就会进入断点。
新闻热点
疑难解答