flume----初步安装与配置

目录标题

    • **flume的简单介绍**
      • ⭐flume的**核心组件**
      • ⭐**核心特点**
    • **安装部署**
      • 1)**解压安装包**
      • 2)**修改名字** **(配置文件时,更方便)**
      • **3)⭐⭐配置文件**
      • 4)**兼容Hadoop**
      • 5)**配置环境变量**
      • 6)**测试flume**
    • **⭐启动flume**
      • 1)在`flume`中创建空目录`jobs`
      • 2)在`jobs`内添加文件
      • **最终启动**

flume的简单介绍

Flume 是一个开源的 分布式日志收集系统 ,由 Apache 开发,主要用于高效地 采集、聚合和传输海量日志数据 (比如网站点击日志、服务器监控日志等),并将这些数据可靠地传递到 目标存储 (如 HDFS、HBase、Kafka 等)

⭐flume的核心组件

1.source(数据接收源头)

  • 负责接数据
    例,监听日志文件的新增内容

2.channel(通道)

  • 负责临时存储数据,确保数据不会丢失,相当于"缓冲区"

  • 存在原因

    数据的 "输入""输出" 速度有时不同,为了避免数据丢失

3.sink(数据的输出)

  • 负责"送数据",比如将数据写入
    HDFSkafka

核心特点

  1. 可靠性
  • 数据在传输过程中会持久化缓存(Channel),即使系统故障,数据也不会丢失
  1. 扩展性
  • 可横向扩展多个 Agent(Flume 节点)处理更大数据量
  1. 灵活性
  • 支持多种数据源(HTTP、日志文件、Kafka 等)和目的地(HDFS、HBase、ES 等)

  • 可自定义数据过滤、格式转换等逻辑

安装部署

1)解压安装包

shell 复制代码
tar -zxvf 文件名 - C 位置

shell 复制代码
tar -zxvf apache-flume-1.9.0-bin.tar.gz -C /opt/module/

2)修改名字 (配置文件时,更方便)

先进入到 flume 解压后所在的位置,然后修改

shell 复制代码
mv 原名 更改后的名字

shell 复制代码
mv apache-flume-1.9.0 flume

3)⭐⭐配置文件

所配置的在flumeconf里面
(zookeeper也是)

切到 conf

再配置
flume-env.sh.template


log4j.properties

  • flume-env.sh.template文件
    保留原本的 内容 防止后续使用
    可以 将此文件复制一份 更名为flume-env.sh
shell 复制代码
cp flume-env.sh.template flume-env.sh

内容均配置到 flume-env.sh

⭐添加jdk的路径

shell 复制代码
export JAVA_HOME=/opt/module/jdk
  • log4j.properties文件

添加:

shell 复制代码
flume.log.dir=/opt/module/flume/logs

4)兼容Hadoop

flumelib 下的
guava-11.0.2.jar 改名,以兼容hadoop-3.1.3

shell 复制代码
[root@hadoop102 lib] mv  guava-11.0.2.jar  guava-11.0.2.jar.bak

文件后.bak 可以 架空 此文件,以便兼容 hadoop-3.1.3

5)配置环境变量

vi /etc/profile添加 flumeexport

shell 复制代码
export FLUME_HOME=/opt/module/flume
export PATH=$PATH:$FLUME_HOME/bin

生效环境变量文件

source /etc/profile

6)测试flume

flume-ng version检查版本

⭐启动flume

启动时,需要进一步配置

1)在flume中创建空目录jobs

shell 复制代码
mkdir jobs

2)在jobs内添加文件

文件名为flume-netcat-logger.conf

shell 复制代码
vi flume-netcat-logger.conf

里面的内容是 flume 的启动内容

  • ① 将组件命名
  • ②描述组件/配置源 source
  • ③将一个事件缓冲到 channel
  • ④描述组件sink
  • ⑤将输入源 source输出 sink
    管道 channel联系起来

如图

最终启动

shell 复制代码
bin/flume-ng agent -n a1 -c conf/ -f jobs/flume-netcat-logger.conf -Dflume.root.logger=INFO,console
shell 复制代码
nc hadoop01 10050
相关推荐
Justice Young1 天前
Flume笔记:Flume的基本介绍和使用
大数据·分布式·flume
C+++Python1 天前
Flume的核心概念和架构
大数据·架构·flume
青云交9 天前
Java 大视界 -- 基于 Java+Storm 构建实时日志分析平台:从日志采集到告警可视化(440)
java·grafana·flume·storm·数据聚合·实时日志分析·告警可视化
AC赳赳老秦11 天前
工业互联网赋能智造:DeepSeek解析产线传感器数据驱动质量管控新范式
前端·数据库·人工智能·zookeeper·json·flume·deepseek
ELI_He99911 天前
SeaTunnel 编译
大数据·mysql·elasticsearch·database·flume
`林中水滴`12 天前
SeaTunnel vs Flume
大数据·flume
`林中水滴`12 天前
Flume停止维护了!
大数据·flume
小鹿学程序17 天前
安装Flume
大数据·flume
梦里不知身是客111 个月前
flume防止数据丢失的方法
大数据·flume
梦里不知身是客111 个月前
flume的数据模型介绍
大数据·flume