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(数据的输出)
- 负责“送数据”,比如将数据写入
HDFS 或 kafka
⭐核心特点
- 可靠性
- 数据在传输过程中会持久化缓存(Channel),即使系统故障,数据也不会丢失
- 扩展性
- 可横向扩展多个 Agent(Flume 节点)处理更大数据量
- 灵活性
-
支持多种数据源(HTTP、日志文件、Kafka 等)和目的地(HDFS、HBase、ES 等)
-
可自定义数据过滤、格式转换等逻辑
安装部署
1)解压安装包
tar -zxvf 文件名 - C 位置
及
tar -zxvf apache-flume-1.9.0-bin.tar.gz -C /opt/module/
2)修改名字 (配置文件时,更方便)
先进入到 flume
解压后所在的位置,然后修改
mv 原名 更改后的名字
及
mv apache-flume-1.9.0 flume
3)⭐⭐配置文件
所配置的在flume
的conf
里面
(zookeeper也是)
先切到conf
中
再配置
flume-env.sh.template
与
log4j.properties
- ①
flume-env.sh.template
文件
保留原本的 内容 防止后续使用
可以 将此文件复制一份 更名为flume-env.sh
cp flume-env.sh.template flume-env.sh
内容均配置到flume-env.sh
内
⭐添加jdk的路径
export JAVA_HOME=/opt/module/jdk
- ②
log4j.properties
文件
添加:
flume.log.dir=/opt/module/flume/logs
4)兼容Hadoop
将 flume
中 lib
下的
guava-11.0.2.jar
改名,以兼容hadoop-3.1.3
[root@hadoop102 lib] mv guava-11.0.2.jar guava-11.0.2.jar.bak
文件后 加 .bak
可以 架空 此文件,以便兼容 hadoop-3.1.3
5)配置环境变量
vi /etc/profile添加 flume
的 export
export FLUME_HOME=/opt/module/flume
export PATH=$PATH:$FLUME_HOME/bin
生效环境变量文件
source /etc/profile
6)测试flume
flume-ng version检查版本
⭐启动flume
启动时,需要进一步配置
1)在flume
中创建空目录jobs
mkdir jobs
2)在jobs
内添加文件
文件名为flume-netcat-logger.conf
vi flume-netcat-logger.conf
里面的内容是 flume
的启动内容
- ① 将组件命名
- ②描述组件/配置源
source
- ③将一个事件缓冲到
channel
- ④描述组件
sink
- ⑤将输入源
source
和 输出sink
与管道channel
联系起来
如图
最终启动
bin/flume-ng agent -n a1 -c conf/ -f jobs/flume-netcat-logger.conf -Dflume.root.logger=INFO,console
nc hadoop01 10050