我有一个由3个节点组成的Kafka群集,每个节点1个ZK和1个Broker。
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"}
即使我尝试重新启动代理(仅代理或与动物园管理员一起),主题也不会扩展。
任何建议都将受到高度赞赏!
答案 0 :(得分:3)
查看该主题的描述,看起来这些主题是使用1的复制因子创建的。
ReplicationFactor:1
在代理配置中设置default.replication.factor=2
和min.insync.replicas=2
不会阻止创建复制因子= 1的主题。
要解决此问题,您可以使用kafka-reassign-partitions.sh
工具increase the replication factor个主题。
为防止这种情况发生,您可以使用Create Topic和Alter Config策略拒绝具有无效复制因子的主题。