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


准备工作: 1、到Flume官网下载apache-flume-1.8.0-bin.tar.gz 2、下载代码:https://github.com/javabigdataxin/FlumeExtend
在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-bin\bin
.\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中打断点调试啦!

优质内容筛选与推荐>>
1、Linux下的C Socket编程 -- 获取对方IP地址
2、mmtests使用简介
3、OD使用教程18 - 调试篇18
4、设计模式笔记(13)---代理模式(结构型)
5、POJ 1573 (13.10.11)


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn