flume集成配置和练习

一、练习目标

1.Flume.监控/tmp/logs/update.log文件

2.创建日志生成的脚本,写入/tmp/logs/update.log。

3.Flume捕获数据

4.将捕获的数据,推送到消息队列kafka

5.在Kafka模拟数据消费

 

二、流程

1.解压并安装flume

tar -zxvf apache-flume-1.6.0-bin.tar.gz

#添加环境变量
vim /etc/profile

2.flume集成kafka配置文件

a1.sources = r1

a1.channels = c1

a1.sinks = k1

 

a1.sources.r1.type = exec

#tail -F 根据文件名进行追踪

a1.sources.r1.command = tail -F /tmp/logs/update.log

#把source和channel关联在一起
a1.sources.r1.channels = c1

 

a1.channels.c1.type=memory

a1.channels.c1.capacity=10000

a1.channels.c1.transactionCapacity=100

 

a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink

#指定kafka类型

a1.sinks.k1.topic = update_log

#kafka集群地址

a1.sinks.k1.brokerList = Master:9092,Slave1:9092,Slave2:9092

a1.sinks.k1.requiredAcks = 1

a1.sinks.k1.batchSize = 20

a1.sinks.k1.channel = c1

3.准备数据

3.1创建、tmp/logs/update.log文件

[root@HDP01 /]# mkdir /tmp/logs
[root@HDP01 /]# cd /tmp/logs
[root@HDP01 /]# touch update.log

3.2创建update.log日志文件添加数据脚本

[root@HDP01 /]# cd /tmp
[root@HDP01 tmp]# vim create_log.sh

create_log.sh 内容如下:

#!/bin/bash

while true

do

echo "ranyi_love_guanyuhang" >> /tmp/logs/update.log;

sleep 0.5;

done

3.3创建update_log的topic

kafka-topics.sh --create --zookeeper hdp01:2181  --partitions 3 --replication-factor 2 --topic update_log

4.启动

4.1 启动flume  (kafka.conf是flume集成kafka的配置内容)

flume-ng agent -c conf -f conf/flume_kafka.conf -n a1  -Dflume.root.logger=INFO,console

4.2 启动模拟日志数据脚本

[root@HDP01 tmp]# sh create_log.sh 

4.3 在kafka安装的bin目录下启动kafka消费者查看数据

kafka-console-consumer.sh --from-beginning  --zookeeper hdp01:2181 --topic update_log

5.结果

 

posted @ 2020-04-29 12:23  牛皮糖比  阅读(239)  评论(0编辑  收藏  举报