第 29 章 升级 Apache Kafka 的流


将 Apache Kafka 安装的 Streams 升级到 2.8,并从新功能、性能改进和增强的安全选项中受益。在升级过程中,Kafka 也更新至最新支持的版本,为 Apache Kafka 部署引入额外的功能和程序错误修复。

使用相同的方法升级 Cluster Operator,作为部署的初始方法。例如,如果您使用 Apache Kafka 安装文件的流,请修改这些文件来执行升级。将 Cluster Operator 升级到 2.8 后,下一步是将所有 Kafka 节点升级到最新支持的 Kafka 版本。Kafka 升级由 Cluster Operator 通过 Kafka 节点的滚动更新来执行。

如果您在新版本时遇到问题,则 Apache Kafka 的 Streams 可以 降级到 之前的版本。

Apache Kafka 版本的发布流可在 Apache Kafka 软件下载页面 的 Streams 中找到。

在不停机的情况下升级

对于配置了高可用性(至少 3 个和平均分布式分区)的主题,升级过程不应给消费者和生产者造成任何停机时间。

升级会触发滚动更新,其中代理会在进程的不同阶段重启一个。在这个时间内,整个集群可用性会临时减少,这可能会在代理失败时增加消息丢失的风险。

29.1. 所需的升级序列

要在没有停机的情况下升级代理和客户端,您必须 按照以下顺序完成 Apache Kafka 升级流程的流:

  1. 确保您的 OpenShift 集群版本被支持。

    Apache Kafka 2.8 的流需要 OpenShift 4.12 和 4.14 到 4.17。

    您可以以最少的停机时间来升级 OpenShift

  2. 升级 Cluster Operator
  3. 根据集群配置升级 Kafka:

    1. 如果在 KRaft 模式中使用 Kafka,请更新 Kafka 版本和 spec.kafka.metadataVersion 来升级所有 Kafka 代理和客户端应用程序
    2. 如果使用基于 ZooKeeper 的 Kafka,请更新 Kafka 版本和 inter.broker.protocol.version,以 升级所有 Kafka 代理和客户端应用程序

从 ZooKeeper 迁移

如果您当前使用 ZooKeeper 运行 Kafka,并希望迁移到 KRaft,Operator 升级过程不会自动处理迁移。您必须执行一个单独的迁移过程。如需更多信息,请参阅 第 5.2 节 “迁移到 KRaft 模式”

注意

从 Apache Kafka 2.7 的 Streams 中,支持基于 KRaft 的集群之间的升级和降级。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat