Flume的学习

FLume是一个高可用的高可靠的分布式的海量日志采集,聚合和传输的系统.

flume最主要的作用就是实时读取服务器本地磁盘的数据,将数据写入到hdfs中.
flume的主要架构
在这里插入图片描述
Source 数据输入端的常见类型有 spooling directory exec ,syslog avro等
put事物流程
doput 将批数据先写入到缓冲区putlist中,
doCommit 检查channel内存队列是否足够合并
doRollback channel内存队列空间不足,回滚数据

Channel自带两种Channel Memeory Channel 和File Channel
Memory Channel 是基于内存缓存,在不需要关心数据丢失的情景下使用.
File Channel 是flume持久化Channel系统宕机不会丢失数据

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

Sink 组建常见的目的地包括HDFS,kafka

flume的实践

猜你喜欢

转载自blog.csdn.net/qq_43079376/article/details/108124452