新的kafka节点是否能够处理现有的主题?

omtl5h9j  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(451)

假设我们有一个三节点的kafka集群,在创建主题时只有两个节点处于活动状态。在那之后,如果我们把第三个节点带回来,它将能够捕获这个新创建的主题的所有数据。我试着在第三个节点出现后关闭另外两个节点,当我描述第三个节点没有充当分区的领导者时。

Topic: test PartitionCount: 6   ReplicationFactor: 2    Configs: segment.bytes=1073741824
Topic: test Partition: 0    Leader: none    Replicas: 0,1   Isr: 0
Topic: test Partition: 1    Leader: none    Replicas: 1,0   Isr: 0
Topic: test Partition: 2    Leader: none    Replicas: 0,1   Isr: 0
Topic: test Partition: 3    Leader: none    Replicas: 1,0   Isr: 0
Topic: test Partition: 4    Leader: none    Replicas: 0,1   Isr: 0
Topic: test Partition: 5    Leader: none    Replicas: 1,0   Isr: 0

却没有显示?

mwngjboj

mwngjboj1#

您创建的主题 ReplicationFactor: 2 . 这意味着只有2个代理拥有此主题的数据。
由于有2个代理(0和1)正在运行,因此选择了这些代理作为副本。您可以看到所有分区的所有副本都在0和1上。没有其他经纪人有此主题的数据。
当您启动第三个代理时,它不会承载此主题的副本。所以它不可能成为领导者。
如果希望第三个代理也是副本,可以将复制因子扩展到3,例如https://kafka.apache.org/documentation/#basic_ops_increase_replication_factor
请注意,如果只有2个代理正在运行,则无法创建复制因子设置为3的主题。

相关问题