[英]Why do Kafka brokers store rebalance metadata for consumer groups in the __consumer_offsets topic?
[英]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主题的复制因子( 设置为较高以确保可用性 )。内部主题的创建将失败,直到群集大小满足此复制因子的要求为止。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.