【Flume中间件】(5)实时监控多个文件实现断点续传

简介: 【Flume中间件】(5)实时监控多个文件实现断点续传

实时监控多个文件实现断点续传

我们之前使用的是exec进行监控一个文件是否有追加数据,这时候会面临问题就是一旦该机器宕机,那么该阶段的数据就会丢失,也不是丢失,就是如果flume停止了,但是此时数据还在进行追加,因为tail -F是读取文件的最后10行,那么之前的数据就会没有读取到,但是更改tail 的参数让flume从头读,这样是不会丢失数据,但是会产生重复数据。

所以有一种解决办法就是我们监控的同时记录下当前读取文件的位置信息,并把它保存到磁盘,这样flume任务再次开启时,就会读取该json文件,继续上一次读取的位置。

a1.sources = r1
a1.sinks = k1
a1.channels = c1
a1.sources.r1.type = taildir
# 文件读取位置信息路径
a1.sources.r1.positionFile = /opt/module/flume/position/position.json
# 配置两个组,分别监听两个文件
a1.sources.r1.filegroups = f1 f2
a1.sources.r1.filegroups.f1 = /home/hadoop/data3/file1
a1.sources.r1.filegroups.f2 = /home/hadoop/data3/file2
a1.sinks.k1.type = logger
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

我们可以看到能够同时监听两个文件的追加数据。

我们还可以采用正则来进行匹配多个文件。

a1.sources.r1.type = taildir
a1.sources.r1.channels = c1
a1.sources.r1.positionFile = /opt/module/flume/position/position.json
a1.sources.r1.filegroups = f1
a1.sources.r1.filegroups.f1 = /home/hadoop/data3/.*.txt

上面配置的意思就是监听data3下所有以.txt结尾的文件。


目录
相关文章
|
存储 分布式计算 监控
【Flume】Flume 监听日志文件案例分析
【4月更文挑战第4天】【Flume】Flume 监听日志文件案例分析
|
存储 JSON 监控
【Flume大揭秘】揭秘Flume断点续传的黑科技,让你的数据传输从此告别中断,稳如老狗!
【8月更文挑战第24天】Apache Flume是一款由Cloudera开发的分布式、可靠且高可用的日志数据收集系统,特别适用于大规模日志数据的采集、聚合与传输。其断点续传功能在遇到故障或中断时尤为关键,能确保数据传输从上次停止的地方继续进行而无需重头开始。
443 4
|
负载均衡 中间件
【Flume中间件】(7)Flume详细传输流程
【Flume中间件】(7)Flume详细传输流程
263 50
【Flume中间件】(7)Flume详细传输流程
|
中间件
【Flume中间件】(6)Flume事务
【Flume中间件】(6)Flume事务
241 66
【Flume中间件】(6)Flume事务
|
SQL 分布式计算 监控
Flume实时读取本地/目录文件到HDFS
Flume实时读取本地/目录文件到HDFS
|
中间件
【Flume中间件】(14)自定义Sink
【Flume中间件】(14)自定义Sink
295 71
|
中间件 Java 数据库连接
【Flume中间件】(13)自定义Source
【Flume中间件】(13)自定义Source
343 63
|
负载均衡 中间件 大数据
【Flume中间件】(10)sink组负载均衡
【Flume中间件】(10)sink组负载均衡
288 73
|
存储 监控 数据库
【Flume】 Flume 断点续传原理分析
【4月更文挑战第4天】【Flume】 Flume 断点续传原理分析
|
中间件
【Flume中间件】(12)自定义拦截器
【Flume中间件】(12)自定义拦截器
253 52

热门文章

最新文章