利用Eclipse对Flume进行远程调试分析环境搭建

准备工作:
1、到Flume官网下载apache-flume-1.8.0-bin.tar.gz
 
在Flume的conf目录新建一个RollingFileSink.conf文件
a1.sources = r1
a1.sinks = k1
a1.channels = c1
 
# 配置sources
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 6666
 
# 配置sink
a1.sinks.k1.type = com.flumeextend.RollingFileSink
a1.sinks.k1.sink.directory = G:\apache-flume-1.8.0-bin\RollingFileSinkTest
a1.sinks.k1.sink.rollInterval=0
a1.sinks.k1.sink.batchSize=100
a1.sinks.k1.sink.serializer=TEXT
a1.sinks.k1.sink.serializer.appendNewline = true
 
# 配置channel
a1.channels.c1.type = file
a1.channels.c1.checkpointDir = G:\apache-flume-1.8.0-bin\checkpoint
a1.channels.c1.dataDirs = G:\apache-flume-1.8.0-bin\data
 
# 将三者串联
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
 
开启FLume远程调试:
在bin目录下的flume-ng.ps1文件,增加以下配置:
$JAVA_OPTS="-Xmx100m -Xdebug -Xrunjdwp:transport=dt_socket,address=8888,server=y,suspend=y"
 
 
打开CMD命令行,执行以下命令,启动Flume Agent:
cd G:apache-flume-1.8.0-binin
 
.flume-ng.cmd agent --conf ../conf  --conf-file ../conf/RollingFileSink.conf --name a1 --property flume.root.logger=INFO,console
 
 
会出现:Listening for transport dt_socket at address: 8888
 
到Eclipse中开启flume远程调试:
 
打好断点:
 
点击Debug,就可以开始调试我们自己写的Flume插件了:
 
使用telnet给Flume发送一个event
 
新打开一个终端,输入命令:
telnet localhost 6666
 
 
在Eclipse中先打好断点:
 
 
输入Hello World,之后可以在Eclipse中打断点调试啦!
 
原文地址:https://www.cnblogs.com/yangcx666/p/11219921.html