Flume 组成架构|学习笔记

开发者学堂课程【数据采集系统 Flume 快速入门:Flume 组成架构】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/99/detail/1625


Flume 组成架构


Flume 组成架构如图:

Flume 组成架构|学习笔记Flume 组成架构|学习笔记

Source 数据输入端的常见类型有:

spooling directory、exec 、 syslog、

avro、netcat 等。

Channel 是位于 Source 和 Sink 之间的缓冲区。

Flume 自带两种 Channel : Memory Channel 和 File Channel。

Memory Channel 是基于内存缓存,在不需要关心数据丢失的情景下适用。

File Channel 是 Flume 的持久化 Channel。系统宕机不会丢失数据。

Sink 组件常见的目的地包括:

HDFS 、Kafka 、 logger 、avro、File、自定义。

Put 事务流程:

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

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

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

Take 事务:

doTake:先将数据取到临时缓冲区 takeList

doCommit:如果数据全部发送成功,则清除临时缓冲区 takeList

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

上一篇:综合案例3-增加模型数据 | 学习笔记


下一篇:Flume 拓扑结构|学习笔记