我们可以将 ReplicationFactor 设置为 1 吗?副本数量达到 3 ?
[user@master01 kafka]$ ./bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
Topic:test PartitionCount:1 ReplicationFactor:1 Configs:
Topic: test Partition: 0 Leader: 3 Replicas: 3 Isr: 3
据我了解,如果 ReplicationFactor 为 n,则副本可以为 <=n.
有人可以帮我理解以下场景吗?由于 ReplicationFactor 设置为 1,Kafka 显示副本数为 3。
ReplicationFactor
告诉有多少个副本。
Replicas
列出所有副本的broker id。
在您的示例中,
ReplicationFactor
为 1,并且此单个副本托管在代理 3 上。Leader
和 Isr
的工作方式相同。因此,代理 3 是该分区的领导者,也是同步副本 (Isr)。
如果 ReplicationFactor 为 2,您可能会看到类似以下内容:
[user@master01 kafka]$ ./bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
Topic:test PartitionCount:1 ReplicationFactor:2 Configs:
Topic: test Partition: 0 Leader: 3 Replicas: 3,1 Isr: 3,1
现在代理 3 仍然是该分区的领导者,但有两个副本和两个 Isr(代理 3 和 1)