一、下载 flume 安装包
apache-flume-1.9.0-bin.tar.gz
二、解压安装包
tar -zxvf apache-flume-1.9.0-bin.tar.gz
三、配置环境变量
flume 环境变量
# flume 环境变量
1、vim /etc/profile
2、添加配置
export FLUME_HOME=/root/apache-flume-1.9.0-bin
export PATH=$PATH:$FLUME_HOME/bin
3、刷新配置:source /etc/profile
四、配置文件修改
- flume-env.sh 修改
1、生成文件flume-env.sh
cp flume-env.sh.template flume-env.sh
2、修改配置(指定java_home)
export JAVA_HOME=/usr/java/jdk1.8.0_221
- flume.conf 修改
监控文件
1、生成文件flume.conf
cp flume-conf.properties.template flume.conf
2、修改配置文件
#指定源名称
agent.sources = seqGenSrc
#指定通道名称
agent.channels = memoryChannel
#指定接收器名称
agent.sinks = loggerSink
# 指定源类型为 linux 命令
agent.sources.seqGenSrc.type = exec
# 以tail命令打开文件输出流
agent.sources.seqGenSrc.command = tail -F /root/test/log.txt
#指定事件不包括头信息
agent.sources.seqGenSrc.fileHeader = false
# 绑定通道,指定源将事件传递的通道,可以指定多个通道
agent.sources.seqGenSrc.channels = memoryChannel
# 指定通道类型
agent.channels.memoryChannel.type = memory
# 在通道中停留的最大事件数
agent.channels.memoryChannel.capacity = 1000
# 每次从源拉取的事件数及给接收器的事件数
agent.channels.memoryChannel.transactionCapacity = 1000
# a 接收器类型
agent.sinks.loggerSink.type = logger
# b 绑定通道
agent.sinks.loggerSink.channel = memoryChannel
监控文件且发送 kafka
配置kafka推送(需要屏蔽 a 接收器类型,b 绑定通道)
####接收器从通道获取信息写入到kafka,配置如下
# 接收器类型
agent.sinks.loggerSink.type = org.apache.flume.sink.kafka.KafkaSink
# 绑定通道,指定接收器读取数据的通道
agent.sinks.loggerSink.channel = memoryChannel
agent.sinks.loggerSink.kafka.bootstrap.servers = 10.213.32.97:9092,10.213.32.98:9092
# 指定写入kafka 的主题
agent.sinks.loggerSink.kafka.topic = flume-kafka
# 指定序列化类
agent.sinks.loggerSink.serializer.class = kafka.serializer.StringEncoder
# 生产者 acks 方式
agent.sinks.loggerSink.kafka.producer.acks = 1
# 指定字符编码
agent.sinks.loggerSink.custom.encoding = UTF-8
监控目录 (其它配置和监控文件一致)
# 指定Flume source
agent.sources.seqGenSrc.type = spooldir
#要监听的目录地址
agent.sources.seqGenSrc.spoolDir = /文件夹目录
五、flume 启动命令
在 apache-flume-1.9.0-bin 目录下启动
flume-ng agent --conf conf --conf-file conf/flume.conf --name agent -Dflume.root.logger=INFO,console
六、相关命令
1、查看flume 版本
flume-ng version
2、相关命令可以查看
flume-ng help