Apache Flume介绍和使用

Apache Flume是一个分布式日志采集系统,用于大规模数据传输。本文介绍了Flume的基本概念、架构,包括Event、Client、Agent、Source、Channel和Sink,并展示了不同数据流模型的使用,如单Agent、多Agent串行和多路数据流。还详细说明了Flume的安装与配置,包括从网络端口采集数据、监控文件变化及跨服务器日志传输的实例。
摘要由CSDN通过智能技术生成

Apache Flume是什么

Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统,通常用于海量数据的实施采集和传输,如:海量日志数据。目前主要使用Flume-NG版本。

下面这张图是Flume的基础架构图
外部数据源以特定格式向 Flume 发送 events (事件),当 source 接收到 events 时,它将其存储到一个或多个 channelchanne 会一直保存 events 直到它被 sink 所消费。sink 的主要功能从 channel 中读取 events,并将其存入外部存储系统或转发到下一个 source,成功后再从 channel 中移除 events
在这里插入图片描述
Flume架构中的几个主要概念:

  • Event:一个数据单元,要传递的消息数据。一个 Evnet 由标题和正文组成:前者是键/值映射,后者是任意字节数组。
  • Client:操作位于源点处的Event,将其发送到Flume
  • Agent:一个独立的Flume进程,包含三个组件SourceChannelSink
    Source:用来消费传递到该组件的Event
    Channel:中转Event的一个临时存储,保存有Source组件传递过来的Event
    Sink:从Channel中读取并移除Event,将Event传递到Flow Pipeline中的下一个Agent(如果有的话)或将其存入外部存储系统

Flume的使用模式:

  1. 单Agent数据流模型
    在这里插入图片描述

  2. 多 Agent 串行传输数据流模型
    为了使数据跨多个代理或跃点流动,前一个代理的接收器和当前节点的源必须为avro类型,接收器指向源的主机名(或IP地址)和端口。
    在这里插入图片描述

  3. 收集数据流模型
    日志收集中的一种非常常见的情况是,大量的日志生成客户端将数据发送到连接到存储子系统的几个消费者代理。例如,从数百台Web服务器收集的日志发送到许多写入HDFS群集的代理。
    在这里插入图片描述

  4. 多路数据流模型
    Flume支持将事件流复用到一个或多个目的地。这是通过定义一种流多路复用器来实现的,该流多路复用器可以将事件复制或选择性地路由到一个或多个通道。
    在这里插入图片描述

Apache Flume安装方式

详见我的博客https://blog.csdn.net/qq_35885488/article/details/103071424

Apache Flume简单使用

需求1:从指定网络端口采集数据输出到控制台
参考:http://flume.apache.org/releases/content/1.9.0/FlumeUserGuide.html

此配置定义了一个名为a1的Agent。a1具有侦听端口44444上的数据的源,在内存中缓冲事件数据的通道以及将事件数据记录到控制台的接收器。配置文件为各个组件命名,然后描述它们的类型和配置参数。给定的配置文件可能会定义几个命名Agent。当启动给定的F

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

sisi.li8

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

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

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

打赏作者

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

抵扣说明:

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

余额充值