1.下载并解压Flume
Flume下载地址:http://archive.apache.org/dist/flume/
将Flume压缩包下载到/opt/software中
解压到/opt/module/目录下,并修改名字方便使用
tar -zxf /opt/software/apache-flume-1.10.1-bin.tar.gz -C /opt/module/
mv /opt/module/apache-flume-1.10.1-bin /opt/module/flume
2.修改日志文件
修改conf目录下的log4j2.xml配置文件,配置日志文件路径
cd /opt/module/flume/conf
vim log4j2.xml
并在下面这个位置添加控制台输出
3.配置采集文件
在hadoop102节点的Flume下创建job文件夹,并创建file_to_kafka.conf
cd /opt/module/flume
mkdir job
vim job/file_to_kafka.conf
文件内容如下:
#定义组件
a1.sources = r1
a1.channels = c1
#配置source
a1.sources.r1.type = TAILDIR
a1.sources.r1.filegroups = f1
a1.sources.r1.filegroups.f1 = /opt/module/applog/log/app.*
a1.sources.r1.positionFile = /opt/module/flume/taildir_position.json
#配置channel
a1.channels.c1.type = org.apache.flume.channel.kafka.KafkaChannel
a1.channels.c1.kafka.bootstrap.servers = hadoop102:9092,hadoop103:9092
a1.channels.c1.kafka.topic = topic_log
a1.channels.c1.parseAsFlumeEvent = false
#组装
a1.sources.r1.channels = c1
4.日志采集Flume测试
进行的是Flume采集到kafka测试,需先安装zookeeper和Kafka,如果还没有安装的可以看这两个教程Centos安装Zookeeper教程(一次就成功版!)-CSDN博客
安装完zookeeper和kafka后,先删除/opt/module/applog/log下的文件
cd /opt/module/applog/log
rm app.log
然后依次启动各集群的zookeeper和kafka(先启动各集群的zookeeper,等三个服务器的zookeeper启动完后再启动kafka)
启动完毕,jpsall脚本是自己写的,感兴趣可以网上搜一下。
启动hadoop102的日志采集Flume
cd /opt/module/flume
bin/flume-ng agent -n a1 -c conf/ -f job/file_to_kafka.conf
打开一个新的终端,再启动一个kafka的Console-Consumer
cd /opt/module/kafka
bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --topic topic_log
执行集群日志生成脚本(直接用的尚硅谷日志生成脚本)
lg.sh test 100
采集成功
要想验证数据正确性可以用kafka tool查看日志内容。