我有2个节点kafka集群(副本0,1)和3个zookeeper设置。
我尝试关闭两个kafka节点(0,1)一段时间,然后在我描述一个主题时,由于kafka在副本0的末尾被关闭,因此显示副本0作为领导者。
$ ./kafka-topics.sh --zookeeper zoo1:2181 --topic test1 --describe
Topic: test1 PartitionCount:8 ReplicationFactor:2 Configs:
Topic: test1 Partition: 0 Leader: 0 Replicas: 1,0 Isr: 0
Topic: test1 Partition: 1 Leader: 0 Replicas: 0,1 Isr: 0
Topic: test1 Partition: 2 Leader: 0 Replicas: 1,0 Isr: 0
Topic: test1 Partition: 3 Leader: 0 Replicas: 0,1 Isr: 0
Topic: test1 Partition: 4 Leader: 0 Replicas: 1,0 Isr: 0
Topic: test1 Partition: 5 Leader: 0 Replicas: 0,1 Isr: 0
Topic: test1 Partition: 6 Leader: 0 Replicas: 1,0 Isr: 0
Topic: test1 Partition: 7 Leader: 0 Replicas: 0,1 Isr: 0
案例1:但是当我在副本1中打开kafka时,它仍然显示与上述相同的输出,并且现在还没有将其更改为副本1。对于旧主题,消息的产生和消耗是失败的(而对于新主题,它的消息却起作用)。
案例2:现在我又在副本1上停止了kafka,在副本0上启动,然后开始工作。
有没有这样的工具或配置可以强制分配副本,以便可以解决此情况?
领导力和情监侦更新也很漫长。
Kafka和Zookeeper版本:
kafka_2.11-1.1.0
zookeeper-3.4.10
用于停止/启动kafka的命令:
$systemctl stop kafka.service
$systemctl start kafka.service