Flume入门

一、Flume拓扑结构

1.1、串行模式

该模式是将多个 Flumev串联起来,为了跨越多个代理或跃点传输数据,前一个代理的 Sink 和当前跃点的 Source 需要为avro类型,且 Sink 指向 Source 的主机名(或IP地址)和端口。

Flume 的数量会影响传输速率,如果其中某个节点宕机,会影响整个传输系统。

1.2、复制和多路复用模式

Flume支持将事件流向一个或多个目的地,这种模式可以将相同数据源复制到多个channel中,或将不同数据分发到不同的channel中,sink可以选择传送到不同的目的地。

1.3、负载均衡模式(单Source、Channel,多Sink)

将多个sink逻辑上分到一个sink组,flume将数据发送到不同的sink,主要解决负载均衡和故障转移问题。

1.4、聚合模式

这种模式最常见的,也非常实用,日常web应用通常分布在上百个服务器,大者甚至上千个、上万个服务器。产生的日志,处理起来也非常麻烦。用这种组合方式能很好的解决这一问题,每台服务器部署一个flume采集日志,传送到一个集中收集日志的flume,再由此flume上传到hdfs、hive、hbase、消息队列中。

二、Flume内部原理

具体过程
1、Source接收事件,交给其Channel处理器处理事件
2、处理器通过拦截器Interceptor,对事件一些处理,比如压缩解码,正则拦截,时间戳拦截,分类等
3、经过拦截器处理过的事件再传给Channel选择器,将事件写入相应的Channel。
        Channel Selector有两种:
        Replicating Channel Selector(默认):会将source过来的Event发往所有Channel(比较常用的场景是,用多个Channel实现冗余副本,保证可用性)
        Multiplexing Channel Selector:根据配置分发Event。此selector会根据Event中某个header对应的value来将Event发往不同的Channel
4、最后由Sink处理器处理各个Channel的事件 。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值