1、收集日志至指定主题

目的:将 nginx 服务器的 access.log日志收集到 kafka 指定 topic

步骤:

1、kafka操作

  1、创建 topic

//一般分区数对应节点核数
kafka-topics.sh --zookeeper s102:2181 --partitions 4 --replication-factor 3 --create --topic logs

  2、查看 topic 列表

kafka-topics.sh --zookeeper s102:2181 --list

  3、启动消费者

kafka-console-consumer.sh --zookeeper s102:2181 --topic logs

  注意:kafka集群:s102-s104,使用root启动

2、flume操作

  1、配置flume:nginx服务器在s102,s103上,因此需要在两个节点配置flume收集进程

a1.sources = r1
a1.channels = c1
a1.sinks = k1

a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /logs/access.log

a1.channels.c1.type = memory
a1.channels.c1.capacity = 10000

a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
a1.sinks.k1.kafka.topic = logs
a1.sinks.k1.kafka.bootstrap.servers = s102:9092
a1.sinks.k1.kafka.flumeBatchSize = 20
a1.sinks.k1.kafka.producer.acks = 1
a1.sinks.k1.kafka.producer.linger.ms = 0

a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1

  2、启动flume:分别在s102,s103开启

flume-ng agent -f /home/centos/log_flume_kafka.txt -n a1 
scp log_flume_kafka.txt  root@s103:/home/centos/

3、开启测试

  1、创建 topic,启动kafka消费者

  2、启动flume

  3、开启反向代理,启动nginx服务器

  4、启动单机 redis 进程

  5、生成日志

  6、观察消费者消费情况

渐变 --> 突变
原文地址:https://www.cnblogs.com/lybpy/p/9869496.html