flume 数据放丢失保证

本文详细解析Flume如何确保数据传输过程中不丢失,重点介绍了FileChannel、事务机制及高可用集群方案的作用,同时探讨了可能导致数据丢失的特殊情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

flume 数据不丢失保证:
1、但是根据Flume的架构原理,再采用FileChannel的Flume是不可能丢失数据的,因为其内部有完善的事务机制(ACID)。

Source到Channel是事务性的,
Channel到Sink也是事务性的,
这两个环节都不可能丢失数据。

在采集阶段
flume 采取采用 TAILDIR
偏移量存储在: /var/log/flume-ng/taildir_position.json
防止数据采集的时候数据不丢失

唯一可能丢失数据的是Channel采用MemoryChannel,
(1)在agent宕机时候导致数据在内存中丢失;
(2)Channel存储数据已满,导致Source不再写入数据,造成未写入的数据丢失;

在传到其它端时候
flume支持不同的sink: sink支持ack (ack 可以保证数据不丢失,但无法保证数据重复)
ps: Flume造成数据重复,例如数据已经由Sink发出,但是没有接收到响应,Sink会再次发送数据,导致数据重复

注意:在一些网络资料中有看到当Flume的数据量达到70MB/s以上时,就会出现丢失数据的情况。本人在生产中采用集群方案高可用加FileChannel的方式保证数据不丢失,现在还没出现数据丢失的情况。此种情况还没有验证方案。

具体搭建flume 高可用方案 请参考此博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值