Flume-事务与传输流程

1、Flume 事务

流程图

Put 事务流程

doPut:将批数据先写入临时缓冲区 putListhtml

doCommit:检查 channel 内存队列是否足够合并apache

doRollback:channel 内存队列空间不足,回滚数据负载均衡

Take 事务流程

doTake:将数据取到临时缓冲区 takeList,并将数据发送到 HDFSide

doCommit:若是数据所有发送成功,则清除临时缓冲区 takeListui

doRollback:数据发送过程当中若是出现异常,rollback 将临时缓冲区 takeList 中的数据归还给 channel 内存队列spa

 

2、Flume 传输流程

流程图

重要组件:

4)Channel Selectorhtm

Channel Selector 的做用就是选出 Event 将要被发往哪一个 Channel。共有两种类型,分别是 Replicating Channel Selector (default)(复制)和 Multiplexing Channel Selector(多路复用)。blog

Replicating Selector 会将 source 过来的每个 Event 发往全部的 Channel,Multiplexing 会根据相应的原则,将不一样的 Event 发往不一样的 Channel。队列

7)Sink Processor事务

Sink Processor 共有三种类型,分别是 Default Sink ProcessorLoad Balancing Sink ProcessorFailover Sink Processor

Default Sink Processor 对应的是单个的 Sink,Load Balancing Sink Processor 和 Failover Sink Processor 对应的是 Sink Group。

Load Balancing Sink Processor 能够实现负载均衡的功能,Failover Sink Processor 能够实现故障转移的功能。

相关文章
相关标签/搜索