支持的 Apache Kafka 版本 - Amazon Managed Streaming for Apache Kafka
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

支持的 Apache Kafka 版本

Amazon Managed Streaming for Apache Kafka(Amazon MSK)支持以下 Apache Kafka 和 Amazon MSK 版本。Apache Kafka 社区在版本发布日期之后为其提供大约 12 个月的支持。有关更多详细信息,请查看 Apache Kafka EOL(生命周期终止)政策

支持的 Apache Kafka 版本
Apache Kafka 版本 MSK 发布日期 支持终止日期
1.1.1 -- 2024-06-05
2.1.0 -- 2024-06-05
2.2.1 2019-07-31 2024-06-08
2.3.1 2019-12-19 2024-06-08
2.4.1 2020-04-02 2024-06-08
2.4.1.1 2020-09-09 2024-06-08
2.5.1 2020-09-30 2024-06-08
2.6.0 2020-10-21 2024-09-11
2.6.1 2021-01-19 2024-09-11
2.6.2 2021-04-29 2024-09-11
2.6.3 2021-12-21 2024-09-11
2.7.0 2020-12-29 2024-09-11
2.7.1 2021-05-25 2024-09-11
2.7.2 2021-12-21 2024-09-11
2.8.0 -- 2024-09-11
2.8.1 2022-10-28 2024-09-11
2.8.2 层 2022-10-28 待公布
3.1.1 2022-06-22 2024-09-11
3.2.0 2022-06-22 2024-09-11
3.3.1 2022-10-26 2024-09-11
3.3.2 2023-03-02 2024-09-11
3.4.0 2023-05-04 2025-06-17
3.5.1(推荐使用) 2023-09-26 --
3.6.0 2023-11-16 --
3.7.x 2024-05-29 --

有关 Amazon MSK 版本支持政策的更多信息,请参阅亚马逊 MSK 版本支持政策

Apache Kafka 版本 3.7.x(具有生产就绪的分层存储)

MSK 上的 Apache Kafka 版本 3.7.x 包括对 Apache Kafka 版本 3.7.0 的支持。您可以创建集群或升级现有集群以使用新的 3.7.x 版本。通过版本命名的这一更改,您不再需要采用较新的补丁修复版本,例如由 Apache Kafka 社区发布的 3.7.1。Amazon MSK 将在 3.7.x 版本发布后自动更新,以支持未来的补丁版本。这样,您就可以在不触发版本升级的情况下从补丁修复版本提供的安全性和错误修复中受益。Apache Kafka 发布的这些补丁修复版本不会破坏版本兼容性,您可以从新的补丁修复版本中受益,而不必担心客户端应用程序会出现读取或写入错误。请确保您的基础架构自动化工具(例如)已更新 CloudFormation,以应对版本命名的这一变化。

亚马逊 MSK 现在支持 Apache Kafka 版本 3.7.x 中的 Kraft 模式(Apache Kafka Raft)。与 ZooKeeper 节点一样,在 Amazon MSK 上,KraFT 控制器包含在内,无需您支付任何额外费用,也不需要您进行额外的设置或管理。现在,你可以在 Kraft 模式下创建集群,也可以在 Apache Kafka 版本 3.7.x 上创建集群。 ZooKeeper 在 Kraft 模式下,与基于 Zookeeper 的集群上的 30 个代理配额相比,您最多可以添加 60 个代理来为每个集群托管更多分区,而无需请求提高限制。要了解有关 MSK 上的 Kraft 的更多信息,请参阅 K ra ft 模式。

Apache Kafka 3.7.x 版本还包括一些错误修复和可提高性能的新功能。主要改进包括针对客户端的领导者发现优化和日志段刷新优化选项。有关改进和错误修复的完整列表,请参阅 Apache Kafka 3.7.0 版本说明。

Apache Kafka 版本 3.6.0(支持生产就绪的分层存储)

有关 Apache Kafka 版本 3.6.0(支持生产就绪的分层存储)的信息,请参阅 Apache Kafka 下载网站上的 Release Notes

为了稳定起见,在本版本中,Amazon MSK 将继续使用和管理 Zookeeper 以进行仲裁管理。

亚马逊 MSK 版本 3.5.1

适用于 Apache Kafka 的亚马逊托管流媒体 Kafka(亚马逊 MSK)现在支持新集群和现有集群的 Apache Kafka 版本 3.5.1。Apache Kafka 3.5.1 包含多个错误修复和可提高性能的新功能。主要功能包括为消费者引入新的机架感知分区分配。在本版本中,亚马逊 MSK 将继续使用和管理 Zookeeper 进行法定人数管理。有关改进和错误修复的完整列表,请参阅 3.5.1 版 Apache Kafka 发行说明。

有关 Apache Kafka 版本 3.5.1 的信息,请参阅 Apache Kafka 下载网站上的 Release Notes

亚马逊 MSK 版本 3.4.0

适用于 Apache Kafka 的亚马逊托管流媒体 Kafka(亚马逊 MSK)现在支持新集群和现有集群的 Apache Kafka 版本 3.4.0。Apache Kafka 3.4.0 包含多个错误修复和可提高性能的新功能。主要功能包括一个修复程序,该修复程序可提高从最近的副本中获取的稳定性。在本版本中,亚马逊 MSK 将继续使用和管理 Zookeeper 进行法定人数管理。有关改进和错误修复的完整列表,请参阅 Apache Kafka 3.4.0 版本说明。

有关 Apache Kafka 版本 3.4.0 的信息,请参阅 Apache Kafka 下载网站上的 Release Notes

亚马逊 MSK 版本 3.3.2

适用于 Apache Kafka 的亚马逊托管流媒体 Kafka(亚马逊 MSK)现在支持新集群和现有集群的 Apache Kafka 版本 3.3.2。Apache Kafka 3.3.2 包含多个错误修复和可提高性能的新功能。主要功能包括一个修复程序,该修复程序可提高从最近的副本中获取的稳定性。在本版本中,亚马逊 MSK 将继续使用和管理 Zookeeper 进行法定人数管理。有关改进和错误修复的完整列表,请参阅 3.3.2 版 Apache Kafka 发行说明。

有关 Apache Kafka 版本 3.3.2 的信息,请参阅 Apache Kafka 下载网站上的 Release Notes

亚马逊 MSK 版本 3.3.1

适用于 Apache Kafka 的亚马逊托管流媒体 Kafka(亚马逊 MSK)现在支持新集群和现有集群的 Apache Kafka 版本 3.3.1。Apache Kafka 3.3.1 包含多个错误修复和可提高性能的新功能。一些关键功能包括对指标和分区器的增强。为了稳定起见,在本版本中,Amazon MSK 将继续使用和管理 Zookeeper 以进行仲裁管理。有关改进和错误修复的完整列表,请参阅 Apache Kafka 3.1 版本说明。

有关 Apache Kafka 版本 3.3.1 的信息,请参阅 Apache Kafka 下载网站上的 Release Notes

亚马逊 MSK 版本 3.1.1

适用于 Apache Kafka 的亚马逊托管流媒体(亚马逊 MSK)现在支持新集群和现有集群的 Apache Kafka 版本 3.1.1 和 3.2.0。Apache Kafka 3.1.1 和 Apache Kafka 3.2.0 包含多个错误修复和可提高性能的新功能。一些关键功能包括对指标的增强和主题 ID 的使用。为了稳定起见,MSK 将在本版本中继续使用和管理 Zookeeper 进行法定人数管理。有关改进和错误修复的完整列表,请参阅 3.1.1 和 3.2.0 的 Apache Kafka 发行说明。

有关 Apache Kafka 版本 3.1.1 和 3.2.0 的信息,请参阅 Apache Kafka 下载网站上的 3.2.0 发行说明3.1.1 发行说明

Amazon MSK 分层存储版本 2.8.2.tiered

此版本是 Apache Kafka 版本 2.8.2 的仅限 Amazon MSK 版本,与开源 Apache Kafka 客户端兼容。

2.8.2.tiered 版本包含分层存储功能,该功能与 KIP-405 for Apache Kafka 中介绍的 API 兼容。有关 Amazon MSK 分层存储功能的更多信息,请参阅 分层存储

Apache Kafka 版本 2.5.1

Apache Kafka 版本 2.5.1 包含多个错误修复和新功能,包括针对 Ap ZooKeeper ache 和管理客户端的传输加密。Amazon MSK 提供了 TLS ZooKeeper 终端节点,您可以通过DescribeCluster 操作查询这些终端节点。

DescribeCluster操作的输出包括ZookeeperConnectStringTls节点,该节点列出了 TLS zookeeper 端点。

以下示例显示了 DescribeCluster 操作的响应 ZookeeperConnectStringTls 节点:

"ZookeeperConnectStringTls": "z-3.awskafkatutorialc.abcd123.c3.kafka.us-east-1.amazonaws.com:2182,z-2.awskafkatutorialc.abcd123.c3.kafka.us-east-1.amazonaws.com:2182,z-1.awskafkatutorialc.abcd123.c3.kafka.us-east-1.amazonaws.com:2182"

有关将 TLS 加密用于 Zookeeper 的信息,请参阅 在 Apache 中使用 TLS 安全性 ZooKeeper

有关 Apache Kafka 版本 2.5.1 的更多信息,请参阅 Apache Kafka 下载网站上的 Release Notes

Amazon MSK 错误修复版本 2.4.1.1

此版本是 Apache Kafka 版本 2.4.1 的仅限 Amazon MSK 的错误修复版本。此错误修复版本包含 KAFKA-9752 的修复程序,这是一个极少出现的问题,会导致使用器组不断重新平衡并保持 PreparingRebalance 状态。此问题会影响运行 Apache Kafka 版本 2.3.1 和 2.4.1 的集群。此版本包含社区制作的修复程序,可用于 Apache Kafka 版本 2.5.0。

注意

运行版本 2.4.1.1 的 Amazon MSK 集群与兼容 Apache Kafka 版本 2.4.1 的任何 Apache Kafka 客户端兼容。

如果您更喜欢使用 Apache Kafka 2.4.1,建议您对新的 Amazon MSK 集群使用 MSK 错误修复版本 2.4.1.1。您可以将运行 Apache Kafka 版本 2.4.1 的现有集群更新为此版本,以加入此修复程序。有关升级现有集群的信息,请参阅 更新 Apache Kafka 版本

要在不将集群升级到 2.4.1.1 版本的情况下解决此问题,请参阅 对 Amazon MSK 集群进行问题排查 指南的 使用器组卡滞在 PreparingRebalance 状态 部分。

Apache Kafka 版本 2.4.1(改用 2.4.1.1 版)

注意

您无法再使用 Apache Kafka 版本 2.4.1 创建新的 MSK 集群。相反,您可以将 Amazon MSK 错误修复版本 2.4.1.1 与兼容 Apache Kafka 版本 2.4.1 的客户端结合使用。而且,如果已经拥有使用 Apache Kafka 版本 2.4.1 的 MSK 集群,建议您将其更新为使用 Apache Kafka 版本 2.4.1.1。

KIP-392 是 Apache Kafka 2.4.1 版中包含的重要 Kafka 改进建议之一。此项改进允许使用器从最近的副本提取。要使用此功能,请将使用器属性中的 client.rack 设置为使用器可用区的 ID。可用区 ID 的其中一个例子是 use1-az1。Amazon MSK 会将 broker.rack 设置为代理可用区 ID。您还必须将 replica.selector.class 配置属性设置为 org.apache.kafka.common.replica.RackAwareReplicaSelector,这是 Apache Kafka 提供的 rack 感知的一种实现方式。

当您使用此版本的 Apache Kafka 时,PER_TOPIC_PER_BROKER 监控级别中的指标仅在其值首次变为非零后才会显示。有关此问题的更多信息,请参阅 PER_TOPIC_PER_BROKER 级别监控

有关如何查找可用区 ID 的信息,请参阅 Amazon Resource Access Manager 用户指南中的您的资源的可用区 ID

有关设置配置属性的信息,请参阅Amazon MSK 配置

有关 KIP-392 的更多信息,请参阅 Confluence 页面中的允许使用器从最近的副本提取

有关 Apache Kafka 版本 2.4.1 的更多信息,请参阅 Apache Kafka 下载网站上的版本说明