Flume_Flume_flume 简介

本文深入解析了Flume的数据流处理架构,包括核心组件Agent及其内部的Source、Channel和Sink模块。介绍了Event作为数据传输的基本单位,以及Flume在数据收集、传输和处理中的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

本文对 flume 进行一个简单的介绍,后续还会陆续补充。

 

下面介绍下 flume 中的核心概念:

 

    flume-1.0 + , 也就是 我们现在一般都在使用的 flume。

都只有1个核心租组件,也就是 agent 。

   其中 Agent 又分为3个模块,source, channel, sink ,

   而 flume 中主要进行数据的搬运,其搬运的基本单位是event 。

 

核心组件:Agent 代理

使用JVM 运行Flume。每台机器运行一个agent,但是可以在一个agent中包含多个sources和sinks。

 

===================================================

 

Agent 代理中的 3个模块, source , channel, sink

 

模块名称:Source源 

从Client收集数据,传递给Channel。

 

模块名称:Channel通道

连接 sources 和 sinks ,这个有点像一个队列。

 

模块名称:Sink接收器

从Channel收集数据,进行相关操作,运行在一个独立线程。

 

========================================================

传输单位: Events事件    

传输的基本数据负载。

 

下面是一段官网上关于 event 的定义:

注意 : 但是这个解释是针对Avro反序列化系统中的Event的定义,而flume ng中很多event用的不是这个。

 

    一行文本内容会被反序列化成一个event。
    
    event的最大定义为2048字节,一行文本超过2048字节,则会被切割。
剩下的会被放到下一个event中。

    默认编码是UTF-8,这都是统一的。

Tips:

    序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,
它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据.

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值