Zookeeper +Kafka +Flume的整合

1.JDK的安装

2.安装Zookeeper

3.安装Kafka

4.安装Flume

5.配置Flume

在/root/apps/apache-flume-1.6.0-bin/conf 目录下创建flume-kafka.conf文件

vi flume-kafka.conf

##主要作用是监听目录中的新增数据,采集到数据之后,输出到kafka

##主要作用是监听目录中的新增数据,采集到数据之后,输出到kafka
##    注意:Flume agent的运行,主要就是配置source channel sink
##  下面的a1就是agent的代号,source叫r1 channel叫c1 sink叫k1
#########################################################
a1.sources = r1
a1.sinks = k1
a1.channels = c1

#具体定义source
a1.sources.r1.type = spooldir
#先创建此目录,保证里面空的
a1.sources.r1.spoolDir = /root/flumeKafkalog
#sink到kafka里面
a1.sinks.k1.channel = c1
a1.sinks.k1.type =org.apache.flume.sink.kafka.KafkaSink
#设置Kafka的Topic
a1.sinks.k1.topic = test3
#设置Kafka的broker地址和端口号
a1.sinks.k1.brokerList = root1:9092,min2:9092
#配置批量提交的数量
a1.sinks.k1.flumeBatchSize = 20
a1.sinks.k1.producer.acks = 1
a1.sinks.k1.producer.linger.ms = 1
a1.sinks.ki.producer.compression.type= snappy

#对于channel的配置描述 使用文件做数据的临时缓存 这种的安全性要高
a1.channels.c1.type = file

a1.channels.c1.checkpointDir = /home/uplooking/data/flume/checkpoint
a1.channels.c1.dataDirs = /home/uplooking/data/flume/data

#通过channel c1将source r1和sink k1关联起来
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

6.启动flume

./bin/flume-ng agent --conf conf --conf-file conf/flume-kafka.conf --name a1 -Dflume.root.logger=INFO,console

注意:Flume是日志采集,相当于生产者。

6.在kafka查看消费者位置信息

./bin/kafka-console-consumer.sh -zookeeper root1:2181,min2:2181 --from-beginning --topic test3

 

如果     下有文件,查看消费者消息信息会显现目录下所有数据。如果没有,数据,将文件转移到/root/flumeKafkalog,在时间不超时的情况下,会显示数据。  下有文件,查看消费者消息信息会显现目录下所有数据。如果没有,数据,将文件转移到/根/ flumeKafkalog,在时间不超时的情况下,会显示数据。

注意:Flume是日志采集,相当于生产者。

猜你喜欢

转载自blog.csdn.net/abcdefghwelcome/article/details/85165322