Flume 知识点总结

1. 介绍

Flume 是一个开源的分布式、可靠、高可用的日志收集系统,用于将大量的日志数据从多个源头(例如 Web 服务器)收集到中央存储或者数据处理系统中。

2. 核心组件

2.1 Source

Source 是 Flume 中负责接收数据的组件,可以从多种数据源(如日志文件、网络端口)获取数据并将其传递给 Channel。

常用的 Source 包括:

  • Avro Source: 通过 Avro 协议接收数据。
  • Netcat Source: 通过 TCP/IP 端口接收数据。
  • Spooling Directory Source: 监控一个目录,将新文件中的数据传递给 Channel。

2.2 Channel

Channel 是 Flume 中负责存储数据的组件,它允许 Source 和 Sink 之间进行解耦,以便可以在不同速度工作或者暂时离线。

常用的 Channel 包括:

  • Memory Channel: 将数据存储在内存中,适用于高吞吐量但相对小量的数据。
  • File Channel: 将数据存储在磁盘上,适用于大量的数据和持久化要求。

2.3 Sink

Sink 是 Flume 中负责将数据发送到目标的组件,可以将数据写入到多种目的地,如 HDFS、HBase、Kafka 等。

常用的 Sink 包括:

  • HDFS Sink: 将数据写入到 Hadoop 分布式文件系统。
  • HBase Sink: 将数据写入到 HBase 数据库。
  • Kafka Sink: 将数据写入到 Kafka 消息队列。
  • 3. 配置文件

    Flume 使用配置文件定义 Source、Channel 和 Sink 之间的关系和参数。配置文件使用简单的文本格式,通常包括 Source、Channel 和 Sink 的配置以及它们之间的连接信息。

在你所需要所选择的Spurce,Channel,Sink的文件进行配置好之后你就可以进行对你所选择的文件进行监控与管理 ,其中选择flume的优点是因为其故障处理与容错相对较好

  • 4. 监控与管理

    Flume 提供了多种监控和管理工具,如 Flume NG Monitoring Console 和 Flume NG Agent。

    5. 故障处理与容错

    Flume 具有良好的容错性,可以处理节点故障、通信错误等情况,确保数据可靠传输。

例如:

首先进入你安装好的flume文件下(前提flume环境不会出问题),在进入一个下行文件中对flume进行一个文件配置,我以自己exec-mem-hdfs.conf为例 命名是相对重要的一眼可以根据命名来看出你所用的有哪些核心组件,后通过代码vim +你的文件名进入文件的配置。

这里推荐:Flume 1.9用户手册中文版 — 可能是目前翻译最完整的版本了icon-default.png?t=N7T8https://flume.liyifeng.org/#hdfs-sink在此官网中寻找你所需要的组件核心代码进行复制,粘贴到你的配置文件中。就能实现对你某个文件进行监控与管理。

在进行启动:

如果出现问题可能是:flume安装时,lib文件夹下的guava-11.0.2.jar可能会Hadoop自带的guava包不兼容,通常情况下是fume的版本低一点,删除flume的guava包即可,具体情况请自行比较,如果是hadoop的版本低可以将flume的guava拷贝到Hadoop安装目录lib中。
删除此包就行:rm /opt/module/flume/lib/guava-11.0.2.jar

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值