卡夫卡ISR缩小且不扩展

时间:2018-07-17 07:03:07

标签: apache-kafka apache-zookeeper kafka-topic

我有一个由3个节点组成的Kafka群集,每个节点1个ZK和1个Broker。

Kafka version 0.10.1.1.

每个主题都有replication-factor=3min.insync.replicas=2。此后,我们通过发出--describe来检查是否已成功创建带有正确的replication-factorISR的主题。

一段时间后,我可以看到一些主题将其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时。我可以看到所有节点都已启动,并且controllerbroker: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"}

即使我尝试重新启动代理(仅代理或与动物园管理员一起),主题也不会扩展。

任何建议都将受到高度赞赏!

1 个答案:

答案 0 :(得分:3)

查看该主题的描述,看起来这些主题是使用1的复制因子创建的。

ReplicationFactor:1

在代理配置中设置default.replication.factor=2min.insync.replicas=2不会阻止创建复制因子= 1的主题。

要解决此问题,您可以使用kafka-reassign-partitions.sh工具increase the replication factor个主题。

为防止这种情况发生,您可以使用Create TopicAlter Config策略拒绝具有无效复制因子的主题。