flume安装部署
flume安装
1.上传并解压安装包
tar -zxvf apache-flume-1.9.0-bin.tar.gz -C /opt/module/

2.配置环境变量
vim /etc/profile.d/my_env.sh
#flume环境变量
export FLUME_HOME=/opt/module/flume-1.9.0
export PATH=$FLUME_HOME/bin:$PATH

source刷新环境变量生效
3.修改文件内容
进入lib目录下
cd lib/
![]()
rm -rf guava-11.0.2.jar
![]()
在flume下,创建一个目录job,目的是更好的启动和管理写好的的配置文件

进入job目录下
然后在job目录下输入
vim netcat.conf
【以下【】中这一段内容为解释】
【这里以netcat起一个端口作为测试,写一个flume的agent事件,以监听端口的数据,发送到终端,以日志的形式打印出来
在虚拟机中安装netcat服务,nc -h可查看 nc 的命令帮助
flume的 agent 配置文件job目录底下创建
###1.这部分是 Flume Agent 的基础定义,声明了当前 Agent(代号 a1)包含的组件
### a1:是当前 Flume Agent 的名称 / 代号,可以自定义(比如改为 "logCollector")
### sources = r1:声明数据源组件名称为 r1(可以理解为 "source 1")
### sinks = k1:声明数据目的地组件名称为 k1(可以理解为 "sink 1")
### channels = c1:声明数据传输通道组件名称为 c1(可以理解为 "channel 1")
###2.这部分定义了数据从哪里来
### type = netcat:指定数据源类型为 netcat,即通过网络端口监听接收数据(类似 nc 命令的功能)
### bind = localhost:指定监听的网络地址,这里是本地主机(也可以填具体 IP 地址)
### port = 26001:指定监听的端口号,外部可以通过这个端口向 Flume 发送数据
###3.这部分定义了数据要发送到哪里去
### type = org.apache.flume.sink.kafka.KafkaSink:指定数据目的地类型为 KafkaSink,即数据最终会发送到 Kafka
### kafka.bootstrap.servers = master:9092:指定 Kafka 集群的地址和端口(master 是 Kafka 服务器的主机名,9092 是默认端口)
### kafka.topic = order:指定数据要发送到 Kafka 中的哪个主题(topic),这里是 "order" 主题
###4.这部分定义了 Source 和 Sink 之间的数据缓冲通道
### type = memory:指定通道类型为内存通道,数据临时存储在内存中(优点是快,缺点是服务重启数据会丢失)
### capacity = 1000:指定通道最多能缓存 1000 条数据(防止数据溢出)
### transactionCapacity = 100:指定每次事务传输的最大数据量(必须小于 capacity 的值)
###5.这部分建立了 Source、Channel、Sink 之间的连接关系
### a1.sources.r1.channels = c1:指定 r1 这个 Source 采集的数据要发送到 c1 这个 Channel
### a1.sinks.k1.channel = c1:指定 k1 这个 Sink 要从 c1 这个 Channel 中获取数据
### 注意:Sink 只能关联一个 Channel(所以用 channel 单数),而 Source 可以关联多个 Channel(所以用 channels 复数)
】
netcat.conf文件中的内容为一下内容
# example.conf: A single-node Flume configuration
# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444
# Describe the sink
a1.sinks.k1.type = logger
# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

整个流程总结:外部程序通过localhost:26001端口发送数据 → Flume 的 r1 Source 接收数据 → 数据暂存到 c1 内存通道 → k1 Sink 从 c1 通道取数据 → 最终发送到 Kafka 的 order 主题。
4.Flume 的环境配置脚本
flume-env.sh。主要用于设置 Flume 运行时的环境变量和 JVM 参数








在第三步开头已经删除guavajar包


5.安装netcat工具(发送HTTP请求)


5.启动flume
bin/flume-ng:Flume 的启动脚本agent:表示启动一个 Flume 代理--conf conf/:指定 Flume 的配置文件目录--name a1:指定代理的名称为 a1(需要与配置文件中的 agent 名称一致)--conf-file job/netcat.conf:指定具体的代理配置文件路径-Dflume.root.logger=INFO,console:设置日志级别为 INFO,并输出到控制台
bin/flume-ng agent --conf conf/ --name a1 --conf-file job/netcat.conf -Dflume.root.logger=INFO,console

6.查看代理状态
另开一个本节点窗口
cd /opt/module/flume
输入
nc localhost 44444
然后输入任何内容,如:hello


在之前的窗口查看,当前 Flume 代理状态正常
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)