支持的 Apache Kafka 版本
Amazon Managed Streaming for Apache Kafka(Amazon MSK)支持以下 Apache Kafka 和 Amazon MSK 版本。Apache Kafka 社区为版本提供自发布之日起大约 12 个月的支持。有关更多详细信息,请参阅 Apache Kafka EOL (end of life) policy
下表列出了 Amazon MSK 支持的 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 |
2021-05-19 | 2024-09-11 |
| 2.8.1 |
2022-10-28 | 2024-09-11 |
| 2.8.2 |
2022-10-28 | 2025-01-14 |
| 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-08-04 |
| 3.5.1 |
2023-09-26 | 2025-10-23 |
| 3.6.0 |
2023-11-16 | -- |
| 3.7.x |
2024-05-29 | -- |
| 3.8.x |
2025-02-20 | -- |
| 3.9.x |
2025-04-21 | -- |
| 4.0.x |
2025-05-16 | -- |
| 4.1.x |
2025-10-15 | -- |
有关 Amazon MSK 版本支持策略的更多信息,请参阅Amazon MSK 版本支持策略。
Amazon MSK 版本 4.1.x
Amazon Managed Streaming for Apache Kafka(Amazon MSK)现在支持 Apache Kafka 版本 4.1,该版本推出了预览版的队列功能、新的流再平衡协议抢先体验版以及合格领导副本 (ELR)。除这些功能外,Apache Kafka 版本 4.1 还包括各种错误修复和改进。
Kafka 4.1 的一个主要亮点是推出了预览版的队列功能。您可以使用多个使用者来处理来自同一主题分区的消息,从而提高需要进行点对点消息传递的工作负载的并行性和吞吐量。新的流再平衡协议建立在 Kafka 4.0 的使用者再平衡协议之上,并将代理协调功能扩展至 Kafka Streams,实现任务分配的优化和再平衡。此外,为增强可用性,现在默认已启用 ELR。
有关更多详细信息以及改进和错误修复的完整列表,请参阅 Apache Kafka 的 4.1 版发行说明
要开始在 Amazon MSK 上使用 Apache Kafka 4.1,请在通过 AWS 管理控制台、AWS CLI 或 AWS SDK 创建新集群时选择版本 4.1.x。还可以通过就地滚动更新来升级现有的预置 MSK 集群。Amazon MSK 会编排代理重启,以便在升级期间保持可用性并保护数据。提供 Amazon MSK 的所有 AWS 区域 都支持 Kafka 版本 4.1。
Amazon MSK 版本 4.0.x
Amazon Managed Streaming for Apache Kafka(Amazon MSK)现在支持 Apache Kafka 版本 4.0。此版本为预置 MSK 带来了最新的集群管理和性能升级。Kafka 4.0 推出的新使用者再平衡协议现已正式发布,有助于确保组实现更顺利、更快的再平衡。此外,Kafka 4.0 要求代理和工具使用 Java 17,从而提高安全性和性能,包括进行各种错误修复和改进。该版本弃用了通过 Apache ZooKeeeper 进行元数据管理的功能。
有关更多详细信息以及改进和错误修复的完整列表,请参阅 Apache Kafka 的 4.0 版发行说明
Amazon MSK 版本 3.9.x
Amazon Managed Streaming for Apache Kafka(Amazon MSK)现在支持 Apache Kafka 版本 3.9。此版本支持在主题级别禁用分层存储时保留分层数据,从而增强了分层存储功能。使用者应用程序可以从远程日志起始偏移量 (Rx) 读取历史数据,同时在本地和远程存储之间保持连续的日志偏移。
版本 3.9 是最后一个同时支持 ZooKeeper 和 Kraft 元数据管理系统的版本。Amazon MSK 将为版本 3.9 提供至少两年的扩展支持,自该版本发布之日起计算。
有关更多详细信息以及改进和错误修复的完整列表,请参阅 Apache Kafka 的 3.9.x 版发行说明
Amazon MSK 版本 3.8.x(推荐)
Amazon Managed Streaming for Apache Kafka(Amazon MSK)现在支持 Apache Kafka 版本 3.8。现在,可以结合使用版本 3.8 和 KRAFT 或 ZooKeeeper 元数据管理模式,创建新的集群,或者将基于 ZooKeeper 的现有集群升级为使用版本 3.8。Apache Kafka 3.8 包含一些可提高性能的错误修复和新功能。主要的新功能包括支持压缩级别配置。这样在使用 lz4、zstd 和 gzip 等压缩类型时,就可以通过更改默认压缩级别来进一步优化性能。
有关更多详细信息以及改进和错误修复的完整列表,请参阅 Apache Kafka 的 3.8.x 版发行说明
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)已更新,以适应版本命名的这一变化。
Amazon MSK 现在支持 Apache Kafka 版本 3.7.x 中的 KRaft 模式(Apache Kafka Raft)。在 Amazon MSK 上,与 ZooKeeper 节点一样,KRaft 控制器免费提供给用户,并且不需要您进行额外的设置或管理。现在,您可以在 Apache Kafka 版本 3.7.x 上以 KRaft 模式或 ZooKeeper 模式创建集群。在 Kraft 模式下,您可以添加最多 60 个代理来在每个集群中托管更多分区,而无需请求增加限制,而基于 Zookeeper 的集群上的代理配额为 30 个。要了解有关 MSK 上的 KRaft 的更多信息,请参阅Kraft 模式。
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 以进行仲裁管理。
Amazon MSK 版本 3.5.1
Amazon Managed Streaming for Apache Kafka(Amazon MSK)现在对新集群和现有集群支持 Apache Kafka 版本 3.5.1。Apache Kafka 3.5.1 包含一些可提高性能的错误修复和新功能。主要功能包括为消费者引入新的机架感知分区分配。在本版本中,Amazon MSK 将继续使用和管理 Zookeeper 以进行仲裁管理。有关改进和错误修复的完整列表,请参阅 Apache Kafka 3.5.1 发行说明。
有关 Apache Kafka 版本 3.5.1 的信息,请参阅 Apache Kafka 下载网站上的 Release Notes
Amazon MSK 版本 3.4.0
Amazon Managed Streaming for Apache Kafka(Amazon MSK)现在对新集群和现有集群支持 Apache Kafka 版本 3.4.0。Apache Kafka 3.4.0 包含一些可提高性能的错误修复和新功能。主要功能包括一个修复,可提高从最近的副本中提取的稳定性。在本版本中,Amazon MSK 将继续使用和管理 Zookeeper 以进行仲裁管理。有关改进和错误修复的完整列表,请参阅 Apache Kafka 3.4.0 发行说明。
有关 Apache Kafka 版本 3.4.0 的信息,请参阅 Apache Kafka 下载网站上的 Release Notes
Amazon MSK 版本 3.3.2
Amazon Managed Streaming for Apache Kafka(Amazon MSK)现在对新集群和现有集群支持 Apache Kafka 版本 3.3.2。Apache Kafka 3.3.2 包含一些可提高性能的错误修复和新功能。主要功能包括一个修复,可提高从最近的副本中提取的稳定性。在本版本中,Amazon MSK 将继续使用和管理 Zookeeper 以进行仲裁管理。有关改进和错误修复的完整列表,请参阅 Apache Kafka 3.3.2 发行说明。
有关 Apache Kafka 版本 3.3.2 的信息,请参阅 Apache Kafka 下载网站上的 Release Notes
Amazon MSK 版本 3.3.1
Amazon Managed Streaming for Apache Kafka(Amazon MSK)现在对新集群和现有集群支持 Apache Kafka 版本 3.3.1。Apache Kafka 3.3.1 包含一些可提高性能的错误修复和新功能。一些主要功能包括对指标和分区程序的增强。为了稳定起见,在本版本中,Amazon MSK 将继续使用和管理 Zookeeper 以进行仲裁管理。有关改进和错误修复的完整列表,请参阅 Apache Kafka 3.3.1 发行说明。
有关 Apache Kafka 版本 3.3.1 的信息,请参阅 Apache Kafka 下载网站上的 Release Notes
Amazon MSK 版本 3.1.1
Amazon Managed Streaming for Apache Kafka(Amazon MSK)现在对新集群和现有集群支持 Apache Kafka 版本 3.1.1 和 3.2.0。Apache Kafka 3.1.1 和 Apache Kafka 3.2.0 包含一些可提高性能的错误修复和新功能。一些主要功能包括指标的增强和主题 ID 的使用。为了稳定起见,在本版本中,MSK 将继续使用和管理 Zookeeper 以进行仲裁管理。有关改进和错误修复的完整列表,请参阅 Apache Kafka 3.1.1 和 3.2.0 的发行说明。
有关 Apache Kafka 版本 3.1.1 和 3.2.0 的信息,请参阅 Apache Kafka 下载网站上的 3.2.0 发行说明
Amazon MSK 分层存储版本 2.8.2.tiered
此版本是 Apache Kafka 版本 2.8.2 的仅限 Amazon MSK 版本,与开源 Apache Kafka 客户端兼容。
2.8.2.tiered 版本包含分层存储功能,该功能与 KIP-405 for Apache Kafka
Apache Kafka 版本 2.5.1
Apache Kafka 版本 2.5.1 包含多个错误修复和新功能,包括 Apache ZooKeeper 和管理客户端的传输中加密。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 ZooKeeper 中使用 TLS 安全。
有关 Apache Kafka 版本 2.5.1 的更多信息,请参阅 Apache Kafka 下载网站上的 Release Notes
Amazon MSK 错误修复版本 2.4.1.1
此版本是 Apache Kafka 版本 2.4.1 的仅限 Amazon MSK 的错误修复版本。此错误修复版本包含 KAFKA-9752PreparingRebalance 状态。此问题会影响运行 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 的信息,请参阅《AWS Resource Access Manager 用户指南》中的 AZ IDs for Your Resource。
有关设置配置属性的信息,请参阅预置 Amazon MSK 配置。
有关 KIP-392 的更多信息,请参阅 Confluence 页面中的允许使用器从最近的副本提取
有关 Apache Kafka 版本 2.4.1 的更多信息,请参阅 Apache Kafka 下载网站上的版本说明