Flume的断点续传-----数据高可靠------高性能-----之杀手锏

针对log4j日志切分导致Flume taildirSource重读问题,通过修改ReliableTaildirEventReader和TailFile源码,删除不必要的文件路径判断,实现文件重命名支持。并创建自定义source jar包,配置Flume以监控多个文件夹下的多个文件,确保数据高可靠性和高性能。
摘要由CSDN通过智能技术生成

1,断点续传------flume-filemonitor-source   (https://github.com/cwtree/flume-filemonitor-source)

2,数据高可靠,宕机不会丢失之措施------channel配置成fileChannel,搭建集群,配置安全级别-end-to-end

就是agent获取到event数据先写磁盘,当sink数据成功后,再删除掉磁盘数据

3,高性能-----如果读取多个目录则可以配置多个source去读取,channel采用不同磁盘目录文件,可以既安全又高效

4,flume1.7.0-taildirSource 支持多文件监控和断点续传(https://blog.csdn.net/u012373815/article/details/62241528

问题

但是官方的 taildirSource 组件貌似是支持nginx 日志,对于log4j 日志好像不太管用。
因为log4j 日志会自动切分,log4j 切分日志其实就是新建一个文件,然后把原来的日志文件都改名。但是 taildirSource 组件时不支持文件改名的。如果文件改名会认为是新文件,就会重新读取,这就导致了日志文件重读。
解决

为了解决这个问题,我去读了 taildirSource 的源码。

发现了两个地方 需要修改
1.修改 ReliableTaildirEventReader

修改ReliableTaildirEventReader 类的 upda

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值