Flume系列3-Flume事务与传输流程

一. Flume 事务

流程图:

image.png

Put 事务流程:
doPut:将批数据先写入临时缓冲区 putList
doCommit:检查 channel 内存队列是否足够合并
doRollback:channel 内存队列空间不足,回滚数据

Take 事务流程:
doTake:将数据取到临时缓冲区 takeList,并将数据发送到 HDFS
doCommit:如果数据全部发送成功,则清除临时缓冲区 takeList
doRollback:数据发送过程中如果出现异常,rollback 将临时缓冲区 takeList 中的数据归还给 channel 内存队列

二. Flume 传输流程

流程图:

image.png

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

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 可以实现故障转移的功能。

参考:

  1. https://www.cnblogs.com/jhxxb/p/11574494.html
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • image.png Source:用于接收数据(文本、数据库、hdfs都可以充当数据源),若数据比较特殊,那么可以...
    万事万物阅读 742评论 0 0
  • 简介 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume...
    达微阅读 722评论 0 2
  • 介绍 Flume是什么? Flume 是一个分布式、可靠且高可用的服务,用于有效地收集,聚合和移动大量日志数据。它...
    万事万物阅读 394评论 0 0
  • title: Flume构建日志采集系统date: 2018-02-03 19:45tags: [flume,k...
    溯水心生阅读 16,198评论 3 25
  • 1.Flume 是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume...
    lmem阅读 1,865评论 0 0