多数据中心kafka异地双活

mm2

 

A机房:集群在双活前写入一些topic写入一些数据,测试同步之类的

/apprun/kafka/bin/kafka-console-producer.sh -broker-list 192.168.109.139:9092 -topic test

/apprun/kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.109.139:9092 -topic test

/apprun/kafka/bin/kafka-topics.sh --create -zookeeper 192.168.109.139:2181 -topic hello -replication-factor 2 -partitions 3

 

 

[root@kafka03 ~]# /apprun/kafka/bin/kafka-topics.sh --list -zookeeper 192.168.109.138:2181,192.168.109.139:2181

 

 

 /apprun/kafka/bin/kafka-topics.sh -zookeeper 192.168.109.138:2181,192.168.109.139:2181 -topic test --describe

/apprun/kafka/bin/kafka-consumer-groups.sh --bootstrap-server 192.168.109.139:9092 --list

/apprun/kafka/bin/kafka-consumer-groups.sh --bootstrap-server 192.168.109.139:9092 --group console-consumer-12150 --describe

 

 

上面的截图只是查看当前A机房的状态,B机房kafka是全新:

vim /apprun/kafka/config/mm2.properties

 

先在B机房手动启动双活配置:

[root@kafka11 config]# /apprun/kafka/bin/connect-mirror-maker.sh /apprun/kafka/config/mm2.properties

看到

 

 然后我们查看2个集群的状态数据等信息...

 

 

 

 查看对比主题:

 

 

 

我们在hy集群全量消费一下test看看数据是不是正确:

 

 

 我从新在A机房kafka上新建一个topic(ceshi),用testwang-consumer-group这个消费组去消费,我们这里采用配置文件消费/apprun/kafka/config/consumer.properties 在这个配置文件里定义连接,消费组名

 

A:

/apprun/kafka/bin/kafka-topics.sh --create -zookeeper 192.168.109.139:2181 -topic ceshi -replication-factor 2 -partitions 3 

对应的hy机房kafka会自动生成一个us-sq.ceshi

 

 

A:生产、消费 

[root@kafka01 ~]# /apprun/kafka/bin/kafka-console-producer.sh -broker-list 192.168.109.139:9092 -topic ceshi

[root@kafka02 config]# /apprun/kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.109.138:9092,192.168.109.139:9092,192.168.109.140:9092, --topic ceshi --consumer.config /apprun/kafka/config/consumer.properties 

 

 

 

 

 

 查看日志同步情况,停掉A的testwang-consumer-group消费组消费继续生产一些数据,然后在hy机房用testwang-consumer-group消费,看是否是继续消费~

 

 

 

 理论:此时B机房kafka数据是已经全同步过来了,(数据是有的)(如果想验证数据可以用其他消费组消费一下全量数据,切记不要用我测试的testwang-consumer-group组),testwang-consumer-group的消费组的偏移量应该是和sq一样,还有8条未消费的数据

此时在hy机房用testwang-consumer-group组消费us-sq.ceshi

 

 我这里是虚拟机抗不住2个集群和一些应用,The request timed out ;正常的话可以看到继续的那8条数据;既然看不到我们来对比2边集群的topic(ceshi)的对应分区数据是不是一样就好

A

 

 B

 

 可以看到相应分区的offset是一样的,不像mm1那样。。。这里A由于我们手动停了消费可以看到还有3+3+2=8条数据没消费,B因为我们刚继续消费了已经都消费掉了,虽然没看到数据,这是由于我机器的原因和配置的原因;我们可以反复操作几次验证

A

 

 B接着consumer-offset消费:(这是我们看到是接着滞留的消费)

 

 对比俩边的偏移量

 

 

 

 

 

备注:双活架构业务消费就得模糊匹配consumer,如下

[root@kafka13 ~]# /apprun/kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.109.142:9092 --from-beginning --whitelist 'us-sq.test|test|hy.test'

 

posted on 2022-01-19 00:26  NG-承  阅读(593)  评论(0编辑  收藏  举报

导航