flume开发时会遇无法直接在代码中debugger,这样严重影响了开发效率,以及产品后期的测试。本文介绍通过jvm自带的debug,runjdwp配合idea进行远程调试flume程序。
1 在项目中通过run/debug Configurations 添加remote
2 修改socket端口号(如果需要,idea默认设置端口号为5005)
3 设置本地环境变量
export FLUME_JAVA_OPTS="-Xmx2g -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=y"
这里需要注意的一点 -Xrunjdwp 后面address对应的端口号需要和idea remote配置中的端口号对应
4 运行flume程序
bin/flume-ng agent -C $CLASS_PATH -c conf -f conf/flume-apm.properties -n agent -Dflume.root.logger=DEBUG,console &
这里根据自己项目需要配置class_path 已经flume配置文件,flume使用会在flume系列其他文章中介绍,具体可以参考官方文档http://flume.apache.org/
运行程序后显示
表明应用程序已经开始监听5005端口,等待调试链接
5 运行之前步骤配置的remote
在源码中加入断点即进行调试模式
flume远程调试
网友评论