flume笔记二事务拓扑结构

flume事务

在这里插入图片描述

flume传输流程

在这里插入图片描述注释:

source收集数据有很多来源 也可以自己写代码监控实时 jdbc数据源

拦截器链作用:可以实现解耦 复用 灵活性高

一个source可以绑定多个channel ,所以一个事件具体给哪一个channel 就交给channel选择器

副本选择器 Rep 发给所有channel

多路选择器 Mul 需要指定绑定策略

#Replicating Channel Selector (default)
a1.sources = r1
a1.channels = c1 c2 c3
a1.sources.r1.selector.type = replicating
a1.sources.r1.channels = c1 c2 c3
a1.sources.r1.selector.optional = c3
#Multiplexing Channel Selector
a1.sources = r1
a1.channels = c1 c2 c3 c4
a1.sources.r1.selector.type = multiplexing
# header以前为空 现在需要结合拦截器一起用 所有将头中key添加为state
a1.sources.r1.selector.header = state
# value : CZ
a1.sources.r1.selector.mapping.CZ = c1
# value : US
a1.sources.r1.selector.mapping.US = c2 c3
# 没匹配上 c4 
a1.sources.r1.selector.default = c4

sink

# Load balancing Sink Processor
a1.sinkgroups = g1
a1.sinkgroups.g1.sinks = k1 k2
a1.sinkgroups.g1.processor.type = load_balance
a1.sinkgroups.g1.processor.backoff = true
a1.sinkgroups.g1.processor.selector = random

flume拓扑结构

简单串联:
在这里插入图片描述这种模式是将多个 flume 顺序连接起来了,从最初的 source 开始到最终 sink 传送的目的存储系统。此模式不建议桥接过多的 flume 数量,flume 数量过多不仅会影响传输速率,而且一旦传输过程中某个节点 flume 宕机,会影响整个传输系统。

复制和多路复用:
在这里插入图片描述Flume 支持将事件流向一个或者多个目的地。这种模式可以将相同数据复制到多个channel 中,或者将不同数据分发到不同的 channel 中,sink 可以选择传送到不同的目的地。

负载均衡和故障转移:
在这里插入图片描述Flume支持使用将多个sink逻辑上分到一个sink组,sink组配合不同的SinkProcessor可以实现负载均衡和错误恢复的功能。

聚合:
在这里插入图片描述这种模式是我们最常见的,也非常实用,日常 web 应用通常分布在上百个服务器,大者甚至上千个、上万个服务器。产生的日志,处理起来也非常麻烦。用 flume 的这种组合方式能很好的解决这一问题,每台服务器部署一个 flume 采集日志,传送到一个集中收集日志的flume,再由此 flume 上传到 hdfs、hive、hbase 等,进行日志分析。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章