1

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

Kafka version 0.10.1.1.

每个主题都有replication-factor=3min.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. 我可以看到所有节点都已启动并且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"}

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

任何建议都非常感谢!

4

1 回答 1

3

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

ReplicationFactor:1

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

要解决此问题,您可以使用该工具增加这些主题的复制因子。kafka-reassign-partitions.sh

为了防止这种情况发生,您可以使用创建主题更改配置 策略来拒绝具有无效复制因子的主题。

于 2018-07-17T07:53:04.473 回答