flume流程与内部原理

本文介绍了Flume的工作流程,强调其通过在Source到Channel和Channel到Sink两阶段使用事务确保高可靠性。Flume事件(Event)是基本数据单位,包含头信息和消息体。在流程中,Source需具备断电续传能力,Channel应选择落盘以防止数据丢失。此外,还解释了Interceptor如何决定事件传输,并介绍了Channel Selector的两种类型:复制和多路复用。
摘要由CSDN通过智能技术生成

flume流程

flume的整体流程如下
在这里插入图片描述
可为什么flume具有高可靠性的,原因是它在source传输给Channel和Channel传输给Sink两部中都采用了事务的方法,如果出现问题可以rollback重新读取数据
以下为详细图解:
在这里插入图片描述
读懂这张图首先要介绍一下flume流程中的传输单位:Eventn,也就是事件

flume的数据流由事件(Event)贯穿始终。事件是Flume的基本数据单位,它携带日志数据(字节数组形式)并且结构为头信息(header)和消息体(body),这些Event由Agent外部的Source生成。整个put流程和Take分别是两个事务,当数据传输失败后会分别回滚put流程或者take流程,如果想要数据的安全性,则:
1.source需要有断电续传的能力,这样在put流程出问题回滚后,依然保证数据不丢失
2.Channel的选择上必须要落盘,否则出现整个agent挂掉的情况,即使回滚依然有可能丢失数据

注:put和take都是主动的动作,两个动作中channel都扮演着被动的形象

内部原理

不用纠结于内部原理和流程的交接处,流程就是flume的一套流程,原理就是原

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值