17.5. 升级 Kafka


升级二进制文件以使用最新版本的 AMQ Streams 后,您可以升级代理以使用较高支持的 Kafka 版本。

在 Kafka 升级后,您可以升级 Kafka 用户以使用增量重新平衡协议。

手动配置并重启所有 Kafka 代理以使用新的 inter-broker 协议版本。执行这些步骤后,数据会使用新的 inter-broker 协议版本在 Kafka 代理之间传输。

注意

从 Kafka 3.0.0 开始,消息格式版本值被假定为与 inter.broker.protocol.version 匹配,不需要设置。该值反映了使用的 Kafka 版本。

收到的消息仍然以较早的消息格式版本附加到消息日志中。

警告

完成此步骤后,无法降级 AMQ Streams。

先决条件

流程

对于 AMQ Streams 集群中的每个 Kafka 代理,一次一个:

  1. 在文本编辑器中,打开您要更新的 Kafka 代理的代理属性文件。代理属性文件通常存储在 /opt/kafka/config/ 目录中。
  2. inter.broker.protocol.version 设置为 3.0

    inter.broker.protocol.version=3.0
    Copy to Clipboard Toggle word wrap
  3. 在命令行中停止您修改的 Kafka 代理:

    /opt/kafka/bin/kafka-server-stop.sh
    jcmd | grep kafka
    Copy to Clipboard Toggle word wrap
  4. 重启您修改的 Kafka 代理:

    /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
    Copy to Clipboard Toggle word wrap
  5. 验证重启的 Kafka 代理是否有分区副本。使用 kafka-topics.sh 工具来确保代理中包含的所有副本都重新同步。具体步骤请参阅 列出和描述主题

您可以升级 Kafka 用户和 Kafka Streams 应用程序,为分区 重新平衡使用增量协作 重新平衡协议,而不是默认的 eager 重新平衡 协议。在 Kafka 2.4.0 中添加新协议。

消费者将分区分配保持在协作重新平衡中,并仅在需要实现均衡的集群时在进程结束时撤销它们。这可减少消费者组或 Kafka Streams 应用程序的不可用。

注意

升级到增量协作重新平衡协议是可选的。eager 重新平衡协议仍被支持。

流程

要升级 Kafka 使用者以使用增量协作重新平衡协议:

  1. 将 Kafka 客户端 .jar 文件替换为新版本。
  2. 在消费者配置中,将 cooperative-sticky 附加到 partition.assignment.strategy。例如,如果设置了 范围 策略,请将配置更改为 range, cooperative-sticky
  3. 依次重启组中的每个消费者,等待用户在每次重启后重新加入组。
  4. 通过从消费者配置中删除之前的 partition.assignment.strategy 来重新配置组中的每个消费者,仅保留 cooperative-sticky 策略。
  5. 依次重启组中的每个消费者,等待用户在每次重启后重新加入组。

要升级 Kafka Streams 应用程序以使用增量协作重新平衡协议:

  1. 将 Kafka Streams .jar 文件替换为新版本。
  2. 在 Kafka Streams 配置中,将 upgrade.from 配置参数设置为您要从升级的 Kafka 版本(如 2.3)。
  3. 依次重启每个流处理器(节点)。
  4. 从 Kafka Streams 配置中删除 upgrade.from 配置参数。
  5. 依次重启组中的每个消费者。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat