我是靠谱客的博主 火星上凉面,最近开发中收集的这篇文章主要介绍Flume会不会丢失数据?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在一些网络资料中有看到当Flume的数据量达到70MB/s以上时,就会出现丢失数据的情况。

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

Source到Channel是事务性的,

Channel到Sink也是事务性的,

这两个环节都不可能丢失数据。

唯一可能丢失数据的是Channel采用MemoryChannel,

(1)在agent宕机时候导致数据在内存中丢失;

(2)Channel存储数据已满,导致Source不再写入数据,造成未写入的数据丢失;

并且在实际开发生产环境中,还没有出现过Flume丢失数据的情况,因此Flume在数据量大的时候丢失数据的情况还有待商榷。

ps:Flume不会丢失数据,但是可能会造成数据重复,例如数据已经由Sink发出,但是没有接收到响应,Sink会再次发送数据,导致数据重复

最后

以上就是火星上凉面为你收集整理的Flume会不会丢失数据?的全部内容,希望文章能够帮你解决Flume会不会丢失数据?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部