Flume(一)介绍

用户手册:Flume 1.11.0 User Guide — Apache Flume

在当今大数据时代,实时数据采集、聚合和传输成为了一项至关重要的任务。Cloudera提供的Flume软件就是在这一背景下应运而生的.

Flume是一个高可用性、高可靠性的分布式日志采集、聚合和传输软件。其核心功能是将数据从数据源(source)收集过来,再将收集到的数据送到指定的目的地(sink)。为了保证输送过程一定成功,Flume会在送到目的地之前先缓存数据(channel),待数据真正到达目的地后,再删除自己缓存的数据。

Flume支持定制各类数据发送方,用于收集各类型数据;同时,Flume支持定制各种数据接受方,用于最终存储数据。一般的采集需求,通过对Flume的简单配置即可实现。针对特殊场景,Flume也具备良好的自定义扩展能力。因此,Flume可以适用于大部分的日常数据采集场景。

Flume基础架构

Flume的基础架构由Agent、Source、Channel和Sink四个部分组成。

Event:在Flume中,会将收集到的每一条日志都封装成一个Event对象,所以Event就是一条日志。

Event本质上是一个json字符串,包含两个部分:headers和body。

Agent:Agent是Flume的核心组件,它是一个JVM进程,负责将数据从源头送至目的地。每个Agent都有一个唯一的名称,且包含一个或多个Source、Channel和Sink组件。
Source:Source是负责接收数据到Flume Agent的组件。它可以处理各种类型、各种格式的日志数据,包括avro、thrift、exec、jms、spooling directory、netcat、sequence generator、syslog、http等。通过配置不同的Source,Flume可以实现对不同数据源的支持。
Channel:Channel是Flume中的缓存组件,用于存储从Source接收到的数据,直到这些数据被Sink组件消费掉。Flume支持多种类型的Channel,如Memory Channel(内存通道)和File Channel(文件通道)等。
Sink:Sink是Flume中的输出组件,负责将Channel中的数据发送到指定的目的地。Sink的目的地可以是HDFS、HBase、Kafka等其他存储系统或消息队列。

总结:

source:从数据采集数据

channel:将数据进行临时存储

sink:将数据进行传输

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Allen019

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值