为什么副本不被列为Kafka代理?



多亏了confluent_kafka.admin.AdminClient,我正在检查集群中副本的配置

# meta is kafka's ClusterMetadata
for partition_id, partition in meta.topics[topic].partitions.items():
for repl in partition.replicas:
if repl not in meta.brokers:
print("replica not in broker")

我看到一些副本在分区中,但不是"broker"的一部分。

这是什么意思?复制品还在复制他们的首领吗?对分区有什么影响?

编辑:我们有1024个分区,每个分区3个副本

你的主题的复制系数是多少?集群有多大?

如果它们不相等,那么您将有一些代理没有托管某个主题的至少一个副本

也就是说,replication.factor <= len(meta.brokers)

经过一番调查,似乎"丢失的"副本指的是停止/死亡的机器

最新更新