16.7. 将消费者升级到合作重新平衡
您可以升级 Kafka 使用者和 Kafka Streams 应用程序,以使用 增量协作重新平衡 协议进行分区重新平衡,而不是默认的 eager 重新平衡 协议。在 Kafka 2.4.0 中添加新协议。
消费者将分区分配保持在协作重新平衡中,并仅在需要实现均衡的集群时在进程结束时撤销它们。这可减少消费者组或 Kafka Streams 应用程序的可用性。
注意
升级到增量协作重新平衡协议是可选的。仍然支持 eager 重新平衡协议。
先决条件
- 您已将 Kafka 代理和客户端应用程序升级到 Kafka 3.4.0。
流程
要升级 Kafka 使用者以使用增量协作重新平衡协议:
-
将 Kafka client
.jar
文件替换为新版本。 -
在消费者配置中,将
cooperative-sticky
附加到partition.assignment.strategy
。例如,如果设置了range
策略,请将配置改为范围 ccol-sticky
。 - 依次重启组中的每个消费者,等待用户在每次重启后重新加入组。
-
通过从消费者配置中删除之前的
partition.assignment.strategy
来重新配置组中的每个使用者,仅保留 ccol-sticky
策略。 - 依次重启组中的每个消费者,等待用户在每次重启后重新加入组。
要升级 Kafka Streams 应用程序以使用增量协作重新平衡协议:
-
将 Kafka Streams
.jar
文件替换为新版本。 -
在 Kafka Streams 配置中,将
upgrade.from
配置参数设置为您要从(如 2.3)升级的 Kafka 版本。 - 依次重启每个流处理器(节点)。
-
从 Kafka Streams 配置中删除
upgrade.from
配置参数。 - 依次重启组中的每个使用者。