Flume大白话(●—●)

目录

🧡Flume事务

Put事务

Take事务

🧡Flume内部原理

Channel Selector复本&多路复用

Sink Processor负载均衡&故障转移

🧡聚合


💟这里是CS大白话专场,让枯燥的学习变得有趣!

💟没有对象不要怕,我们new一个出来,每天对ta说不尽情话!

💟好记性不如烂键盘,自己总结不如收藏别人!

💌Flume是基于流式的高可用,高可靠,分布式的海量日志采集、聚合和传输的系统。

🍠基本流程:Web服务器→Source→Channel→Sink→HDFS。

🧡Flume事务

💌在Source→Channel(Put推送)和Channel→Sink(Take拉取)之间存在事务。

Put事务

🍠doPut:将Source推送的数据先写入缓冲区putList。

🍠doCommit:检查Channel内存是否足够。

🍠doRollback:Channel内存不足,回滚数据。

Take事务

🍠doTake:将数据拉取到缓冲区putList。

🍠doCommit:如果数据全部发送成功,清空缓冲区putList。

🍠doRollback:数据发送异常,回滚数据。

🧡Flume内部原理

💌先将事件由Channel Processor传递给Interceptors(拦截器链),对数据进行丢弃/添加信息,再将事件给Channel Selector(选择器)决定如何发送数据给Channel,接着由Sink Processor决定将拉取的数据发送给哪个Sink。

Channel Selector复本&多路复用

🍠ReplicatingSelector(复本):默认策略,将一份数据发送给绑定的所有Channel。

🍠MultiplexingSelector(多路复用):可以配置数据发给哪个Channel,结合Interceptors使用,根据数据的头信息进行处理

Sink Processor负载均衡&故障转移

💌Channel和Sink是1:N的关系。

🍠DefaultSinkProcessor:一个Channel只能绑定一个Sink。

🍠LoadBalancingSinkProcessor(负载均衡):以轮询的策略拉取Channel中的数据。

🍠FailoverSinkProcessor(故障转移):由当前优先级最高的Sink拉取。

🧡聚合

💌多台服务器的Sink连接到一台服务器的Source。每台服务器部署一个Flume采集日志,集中传送到一台服务器的Flume,再由此Flume上传到HDFS、Hive、Hbase等,进行日志分析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值