繁体   English   中英

为什么Kafka中的__consumer_offsets主题没有传播到所有经纪人?

[英]Why __consumer_offsets topic in kafka is not spreading to all the brokers?

我有一个3个zk节点群集。 还有7个kafka经纪人节点。

因此,当我创建任何主题时,可以使用命令行参数设置复制因子,而不设置分区。

这些分区已传播到所有7个__consumer_offsets 。但是有一个主题,即__consumer_offsets ,它是自动创建的,并且仅传播给1个具有1个复制的代理(id = 0)。

我知道我可以在配置文件中更改默认的复制因子编号。

但是,此主题仅复制给一个代理。 那么可以更改哪些参数以将分区复制到所有代理。

这对我来说真的很奇怪。 我部署了3个Kafka代理群集,我的__consumer_offsets主题在3个代理之间划分了50个分区(默认),并具有3个(默认)副本。 当您从单个Kafka代理开始时,您描述的内容可能会发生,创建用于阅读主题的使用者,以便自动创建__consumer_offsets ,它将仅位于代理0上(唯一)。 之后,您添加新的Kafka代理:不做任何事情__consumer_offsets仍保留在代理0上; 您需要使用Kafka进行手动分区重新分配,如上所述。

您将需要使用Kafka分区重新分配。 不幸的是,这是当前的半手动过程: https : //kafka.apache.org/documentation/#basic_ops_cluster_expansion

您需要在代理配置中将“ offsets.topic.replication.factor ”设置为所需的副本数。

offsets.topic.replication.factor ” offsets主题的复制因子( 设置为较高以确保可用性 )。内部主题的创建将失败,直到群集大小满足此复制因子的要求为止。

参考-http://kafka.apache.org/documentation/#brokerconfigs

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM