博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

Flume如何 保证 数据不丢失?

 

其一:flume使用两个独立的事务分别负责从source到channel
以及从channel到sink的事件传递,
source向channel写数据时
会先将数据写入临时缓冲区putlist,
然后检查channel是否可以写入,
如果写入成功会更新偏移量,如果不成功就回滚数据,

channel到sink的事件传递也会现将数据写入临时缓冲区takelist,
如果数据发送成功就更新偏移量,
如果发送失败就回滚数据。

其二:Channel 使用的是 File Channel:
数据存储在磁盘,宕机数据可以保存。但是传输速率慢。
这个能够保证数据不丢失。

posted @ 2022-05-29 19:20  CHANG_09  阅读(429)  评论(0编辑  收藏  举报