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
相关推荐
快乐点吧2 天前
【Flume 】Windows安装步骤、配置环境
大数据·windows·flume
快乐点吧2 天前
启动命令汇总(Redis / Kafka / Flume / Spark)
redis·kafka·flume
小名叫咸菜3 天前
flume整合Kafka和spark-streaming核心编程
kafka·flume
猫猫头有亿点炸3 天前
大数据可能出现的bug之flume
大数据·bug·flume
IT成长日记16 天前
【Hadoop入门】Hadoop生态之Flume简介
大数据·hadoop·flume
wangzhongyudie1 个月前
Flume实战:Kafka Channel的使用配置场景
大数据·kafka·flume
viperrrrrrrrrr71 个月前
大数据学习(67)- Flume、Sqoop、Kafka、DataX对比
大数据·学习·kafka·sqoop·flume·datax
凡许真2 个月前
大数据环境(单机版) Flume传输数据到Kafka
大数据·kafka·数据采集·flume
佛系爱学习2 个月前
Flume
大数据·flume