测试告诉说kafka的topic列表里面新加入了一个topic,然后就不消费数据了;
自己验证了一下,确实这样,如果去掉新的topic,数据就可以正常消费;
然后我查看定义发现,topicA是1个分区; topicB是两个分区;topicNew是12分区;
1、难道分区不一样导致的;然后否决了这个项目,因为消费总共使用了4个线程,在日志里面,总共四条,说明:四个线程消费topic的情况,对应的每个topic的分区号,所以没问题
cat info.log |grep 'Setting newly'
2、认真看topic的定义发现,明显是没有这样的leader的。
然后就删掉(删干净,zookeeper数据),重建只有1个分区,然后测试,可以正常消费数据;
kafka-topics --zookeeper data2:2181,data3:2181,datan1:2181 --delete--topic topicNew
kafka-topics --zookeeper data2:2181,data3:2181,datan1:2181 --list
对应的topic并没有删掉,需要在zookeeper中删除
zookeeper-client
rmr /borkers/topics/topicNew
rmr /admin/delete_topics
kafka-topics --zookeeper data2:2181,data3:2181,datan1:2181 --create --replication-factor 1 --partitions 1 --topic topicNew
说明:多加topic是不影响客户端消费的,那多分区是怎么回事??
然后删掉topic(删干净,zookeeper数据),继续建立12个分区,然后查看topicNew的实际情况
kafka-topics --zookeeper data2:2181,data3:2181,datan1:2181 --describe --topic topicNew
发现leader都是none,重启程序,然后就是程序就开始不能消费数据了!!
至于leader:none, 那就说明kafka服务在同步信息时候出现了问题,
开始处理,首先删除topicNew(删干净,zookeeper数据),然后重启kafka服务;然后建立12分区
验证重启程序,可以正常消费!
说明:客户端消费是不在乎多个topic是否分区数一样,参考着权威指南的图改了一下
版权归原作者 现行者 所有, 如有侵权,请联系我们删除。