Apache-Flume简单介绍

本文深入介绍了Apache Flume1.7.0的特性与使用前提,包括其作为多节点部署并行采集系统的高效性,以及在不同数据源到中心存储系统间移动海量数据的能力。文章详细解析了Flume的模型,如Agent、Source、Sink、Channel等组件的工作原理,以及常见的拓扑模型应用。

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

Apache-Flume1.7.0简单介绍

Flume是什么?

flume 是一款支持多节点部署并行采集、可靠的、实用的采集系统,该系统能高效收集、聚合、移动海量的数据,从不同的数据源到一个中心的存储系统。

使用Flume有以下前置条件。

  • JAVA-1.7+的运行时环境
  • 对配置的source、sink、channel内存足够的内存资源
  • 磁盘空间,主要是针对配置的sink与channel的地盘空间
  • 每个agent的JVM内存必须对所使用的目录有读写权限

Flume模型解析

flume的模型图

一个Flume的event被定义成一个data flow单元,每个data flow都会有一个字节的header&一个可配置的分布式string的数据集合。

Flume Agent是一个JVM进程,这个进程管理着Sources、sinks、channels等不同的组件

  • Source从一个外部系统消费数据,将数据从外部系统读进到flume的chennel,不同的source可以读取不同外部数据源的数据,比如TailDirSource可以保证断点续传,能够记录下offset;
  • channel是一个数据管道,一个channel对应一个source,可以通过source端选择不同的channel选择器
    • mutipuxing channel
    • replication channel
    • channel有2种实现形式
      • memory channel 速度快但是数据有丢失风险
      • file channel 速度较慢,但是数据不会丢失
  • Sink是一个组件,用来将数据从flume传输到下一个存储系统,每个sink对应一个channel

Flume常用的拓扑模型

在这里插入图片描述
该拓扑图主要是用来削峰

在这里插入图片描述
该拓扑主要是用来将多个日志服务产生的日志汇总到统一的存储系统中

在这里插入图片描述
该拓扑主要是将相同的日志数据分别全量导入到不同的存储介质,每个存储介质中的数据其实是一样的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值