flume(二)

一、Source

Source是数据的收集端,负责将数据捕获后进行特殊的格式化,将数据封装到事件(event)里,然后将事件推入Channel中。

flume提供了很多内置的Source,每个Source都表示不同的功能,可以从不同的位置读取数据。
flume的Source

一些常用的Source
在这里插入图片描述

二、Channel

Channel连接Source和sink的组件,大家可以将它看做一个数据的缓冲区,它可以将事件暂存到内存中也可以持久化到本地磁盘上,直到Sink处理完该事件。
flume提供了很多内置的Channel,每个Channel都表示不同的功能,可以使用不同的通道传递数据。下面介绍一些常用的channel。flume的Channel

一些常用的Channel

在这里插入图片描述

三、Sink

Sink从 Channel中取出event,然后将数据发到特定目的地。
flume提供了很多内置的Sink,每个Sink都表示不同的功能,可以把数据写到不同的位置。下面介绍一些常用的Sink 。
flume的Sink

一些常用的sink
在这里插入图片描述

四、拦截器

把source接受到数据传递到channel中间的时候会被拦截器所拦截,拦截下来以后可以给event的头进行某些key-value的添加和删除。

在这里插入图片描述
在这里插入图片描述

五、场景

1.多个agent顺序连接
可以将多个Agent顺序连接起来,将最初的数据源经过收集,存储到最终的存储系统中。这是最简单的情况,一般情况下,应该控制这种顺序连接的Agent的数量,因为数据流经的路径变长了,如果不考虑failover的话,出现故障将影响整个Flow上的Agent收集服务。
在这里插入图片描述

2.多个Agent的数据汇聚到同一个Agent
这种情况应用的场景比较多,比如要收集Web网站的用户行为日志,Web网站为了可用性使用的负载集群模式,每个节点都产生用户行为日志,可以为每个节点都配置一个Agent来单独收集日志数据,然后多个Agent将数据最终汇聚到一个用来存储数据存储系统,如HDFS上。
在这里插入图片描述
3 Flume还支持多级流,什么多级流?结合在云开发中的应用来举个例子,当syslog,java,nginx,
tomcat等混合在一起的日志流开始流入一个agent后,可以agent中将混杂的日志流分开,然后给每种日志建立一个自己的传输通道。
在这里插入图片描述
4. load_balance负载均衡功能、Failover故障转移
负载均衡∶Agent1是一个路由节点,负责将Channel暂存的Event均衡到对应的多个Sink组件上,而每个Sink组件分别连接到一个独立的Agent上。
故障转移:Agent1是一个路由节点,负责将Channel暂存的Event基于其中一个sink推送,如果推送sink对应的Agent出现故障,由下一个sink接管将数据推送到备用agent中。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值