我有一个由3个节点组成的kafka集群,每个节点有1个zk和1个代理。 Kafka version 0.10.1.1.
每个主题都有 replication-factor=3
以及 min.insync.replicas=2
. 我们已通过签发 --describe
此后,主题以正确的方式成功创建 replication-factor
以及 ISR
.
我可以看到,过了一段时间,一些主题缩小了他们的isr成为一个单一的领导者。
/opt/kafka/bin/kafka-topics.sh --describe --zookeeper zk1:2181,zk2:2181,zk3:2181 --topic topic1
Topic:topic1 PartitionCount:1 ReplicationFactor:1 Configs:
Topic: topic1 Partition: 0 Leader: 1 Replicas: 1 Isr: 1
/opt/kafka/bin/kafka-topics.sh --describe --zookeeper zk1:2181,zk2:2181,zk3:2181 --topic topic2
Topic:topic2 PartitionCount:1 ReplicationFactor:1 Configs:
Topic: topic2 Partition: 0 Leader: 1 Replicas: 1 Isr: 1
当我连接到 zk Shell
. 我可以看到所有节点都启动了 controller
在 broker:2
```
/opt/kafka/bin/zookeeper-shell.sh --describe --zookeeper zk1:2181,zk2:2181,zk3:2181
ls /brokers/ids
[0,1,2]
get /controller
{"version":1,"brokerid":2,"timestamp":"1531740996571"}
即使我尝试重新启动代理(仅代理或与Zookeeper一起),主题也不会扩展。
任何建议都将不胜感激!
1条答案
按热度按时间jhdbpxl91#
查看主题的描述,这些主题似乎是使用1的复制因子创建的:
有
default.replication.factor=2
以及min.insync.replicas=2
在代理配置中设置不会阻止创建复制因子为1的主题。要解决这个问题,可以使用
kafka-reassign-partitions.sh
工具。为了防止这种情况发生,可以使用create topic和alter config policies来拒绝具有无效复制因子的主题。