Flume调优

Flume是一个用于高效收集、聚合和移动大量日志数据的工具,具有高可靠性和可扩展性。本文介绍了Flume的优势,如数据丢失防护和可管理性,并详细解析了Flume与Kafka的整合,包括Kafka作为数据源、Sink和Channel的配置与工作原理。
摘要由CSDN通过智能技术生成

Flume

Flume可以有效的从不同的源,收集、聚合移动大量日志数据到集中式数据存储

Flumed的优势

Flume可以将应用产生的数据存储到任何集中的存储器中,比如HDFS ,Hive,Hbase。

1.当收集数据的速度大于写入数据的时候 ,Flume也会在数据生产者和数据收容器间做出调增

2.支持各种接入资源数据的类型和接出数据类型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JpPCMUSb-1610538847306)(C:\Users\Acer\Desktop\思维导图\flume简单结构图.png)]

WebSever为数据源,Source接受数据源,流向Channel作为临时缓冲,Sink不断地从Channel里面抽取数据,并将数据发送到存储、索引系统,或者发送到另一个Flume Agent

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a2uEInuC-1610538847310)(C:\Users\Acer\Desktop\思维导图\Flume结构图详解.png)]

Agent是一个JVM进程,它以事件的形式将数据从源头送至目的地。Agent主要有三个部分组成:Source、Channel、Sink。

Event

Flume数据传输的基本单元,带有一个可选的消息头。如果是文本文件,通常是一行记录。Event从Source,流向Channel,再到Sink,Sink将数据写入目的地。

Source

Source是负责接收数据到Flume Agent的组件。Source可以接收各种类型和格式的日志数据。

Channel

Channel主要提供一个队列的功能。是位于Source和Sink之间的缓冲区。Source到Channel是完全事务性。

一旦事务中的所有事件全部都传递到Channel且提交成功,那么Source就将其标记为完成。如果事件传递失败,那么事务将会回滚。

Flume对于Channel提供了Memory Channel、 File Channel 、JDBC Channel、Kafka Channel 以及自定义Channel等。

Memory Channel 是内存中的队列,可以在不考虑数据丢失的情况下使用

File Channel 将所有事件都写入磁盘中 ,可以防止数据丢失。

Flume 支持事务,分为Put事务与Take事务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值