linux上看kafka消费消息zookeeper管理的具体流程

zookeeper和kafka环境前面两篇博客已经介绍了,其实就是简单的虚拟机三台机器。

1、创建topic

kafka-topics.sh --create --zookeeper 192.168.1.101:2181 --replication-factor 3 --partitions 2 --topic test01

linux上看kafka消费消息zookeeper管理的具体流程_第1张图片

此时,可以去zookeeper上看看,是否创建了这个节点:(另外起一个Xshelll)

 

 bin/zkCli.sh

linux上看kafka消费消息zookeeper管理的具体流程_第2张图片

ls /brokers/topics/test01/partitions

可以看到已经有test01这个节点了,并且其分区也是按创建topic时一致,为0和1。

2、启动生产者发送消息:

bin/kafka-console-producer.sh --broker-list 192.168.1.103:9092 --topic test01

linux上看kafka消费消息zookeeper管理的具体流程_第3张图片

这里注意,生产者并不是通过zk管理的,只有消费者信息是注册到zk上的,现在启动消费者消费信息:

首先在101这台机器上,config/consumer.properties中可以看到,消费者组为:

linux上看kafka消费消息zookeeper管理的具体流程_第4张图片

我们启动消费者,并且绑定其配置文件,这样可以指定这个消费者组:

 bin/kafka-console-consumer.sh --zookeeper 192.168.1.103:2181 --topic test01 --consumer.config config/consumer.properties

linux上看kafka消费消息zookeeper管理的具体流程_第5张图片

这样消费者就监听成功了,接下来我们发送一条消息:

linux上看kafka消费消息zookeeper管理的具体流程_第6张图片

消费者消费到了消息:

linux上看kafka消费消息zookeeper管理的具体流程_第7张图片

去看zookeeper中,节点发生了什么变化:

get /brokers/topics/test01/partitions/0/state

可以看分区的分区的信息,包括leader等等

linux上看kafka消费消息zookeeper管理的具体流程_第8张图片

看第两个分区,消费了几条数据:

get /consumers/test-consumer-group/offsets/test01/0、
get /consumers/test-consumer-group/offsets/test01/1

5+4刚好是发的九条数据。

linux上看kafka消费消息zookeeper管理的具体流程_第9张图片

linux上看kafka消费消息zookeeper管理的具体流程_第10张图片

你可能感兴趣的:(linux,kafka,zookeeper)