大数据之Flume技术 (2)Flume事物以及内部原理

Flume是一个日志收集传输系统,采用流式处理架构。Put事务包括doPut、doCommit和doRollback,确保数据正确存储。Take事务涉及doTake、doCommit和doRollback,处理数据传输。内存原理中,ChannelSelector如Replicating和Multiplexing选择数据流向,SinkProcessor的Default、LoadBalancing和Failover类型分别对应单一、负载均衡和故障恢复功能。
摘要由CSDN通过智能技术生成

Flume事务

 Flume是一个基于流式架构一个日志收集传输系统,内部流式处理框架如下图:
在这里插入图片描述
Put事务:

 (1) doPut:负责将Source拿到得数据上传到临时缓冲区putList中

 (2)doCommit:该过程会检查Channel队列得大小是否足够存储putList中得数据,如果空间足够大,则执行doCommit将数据传到Channael;

 (3):doRollback:在步骤(2)当中,如果Channel队列得内存空间不足,则回滚数据;

Take事务:

 (1) doTake:负责将数据从Channel里拉取到临时缓冲区takeList,并将数据发送到HDFS或者其他目的地(比如下一级Flume)

 (2)doCommit:如果数据全部都发送成功得话,那么则清除临时缓冲区takeList里得数据;

 (3):doRollback:如果在步骤(2)里发送过程中出现异常,则Rollback会将takeList中得数据归还给Channel;

Flume Agent内存原理

在这里插入图片描述
重要组件:

(1)ChannelSelector

 ChannelSelector的作用就是选出Event将要被发往哪个Channel。其共有两种类型,分别是Replicating(复制)和Multiplexing(多路复用)

 ReplicatingSelector会将同一个Event发往所有的Channel,Multiplexing会根据相应的原则,将不同的Event发往不同的Channel

(2)SinkProcessor

 SinkProcessor共有三种类型,分别是DefaultSinkProcessor、LoadBalancingSinkProcessor和FailoverSinkProcessor

 DefaultSinkProcessor对应的是单个的Sink

 LoadBalancingSinkProcessor和FailoverSinkProcessor对应的是Sink Group,LoadBalancingSinkProcessor可以实现负载均衡的功能,FailoverSinkProcessor可以错误恢复(故障转移)的功能。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值