本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
更新 Apache Kafka 版本
您可以将现有MSK集群更新到较新版本的 Apache Kafka。您无法将它更新为较旧版本。更新MSK集群的 Apache Kafka 版本时,还要检查您的客户端软件,确保其版本允许您使用集群新 Apache Kafka 版本的功能。Amazon MSK 仅更新服务器软件。它不会更新您的客户端。
有关如何在更新期间使集群高度可用的信息,请参阅构建高度可用的集群。
使用更新 Apache Kafka 版本 Amazon Web Services Management Console
打开 Amazon MSK 控制台,网址为https://console.amazonaws.cn/msk/
。 -
选择要在其上更新 Apache Kafka 版本的MSK集群。
-
在属性选项卡上,在 Apache Kafka 版本部分中选择升级。
使用更新 Apache Kafka 版本 Amazon CLI
运行以下命令,
ClusterArn
替换为您在创建集群时获得的 Amazon 资源名称 (ARN)。如果您的集群没有,则可以通过列出所有集群来找到它。ARN有关更多信息,请参阅 列出亚马逊MSK集群。aws kafka get-compatible-kafka-versions --cluster-arn
ClusterArn
此命令的输出包括您可以将集群更新到的 Apache Kafka 版本的列表。其内容类似于以下示例。
{ "CompatibleKafkaVersions": [ { "SourceVersion": "2.2.1", "TargetVersions": [ "2.3.1", "2.4.1", "2.4.1.1", "2.5.1" ] } ] }
-
运行以下命令,
ClusterArn
替换为您在创建集群时获得的 Amazon 资源名称 (ARN)。如果您的集群没有,则可以通过列出所有集群来找到它。ARN有关更多信息,请参阅 列出亚马逊MSK集群。将
Current-Cluster-Version
替换为集群的当前版本。因为TargetVersion
你可以从上一个命令的输出中指定任何目标版本。重要
集群版本不是简单的整数。要查找集群的当前版本,请使用DescribeCluster操作或 desc ribe-
Amazon CLI cluster 命令。示例版本是 KTVPDKIKX0DER
。aws kafka update-cluster-kafka-version --cluster-arn
ClusterArn
--current-versionCurrent-Cluster-Version
--target-kafka-versionTargetVersion
上一个命令的输出如下所示JSON。
{ "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "ClusterOperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef" }
-
要获得
update-cluster-kafka-version
操作结果,请运行以下命令,ClusterOperationArn
替换为ARN在命令输出中获得的update-cluster-kafka-version
命令。aws kafka describe-cluster-operation --cluster-operation-arn
ClusterOperationArn
此
describe-cluster-operation
命令的输出类似于以下JSON示例。{ "ClusterOperationInfo": { "ClientRequestId": "62cd41d2-1206-4ebf-85a8-dbb2ba0fe259", "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "CreationTime": "2021-03-11T20:34:59.648000+00:00", "OperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef", "OperationState": "UPDATE_IN_PROGRESS", "OperationSteps": [ { "StepInfo": { "StepStatus": "IN_PROGRESS" }, "StepName": "INITIALIZE_UPDATE" }, { "StepInfo": { "StepStatus": "PENDING" }, "StepName": "UPDATE_APACHE_KAFKA_BINARIES" }, { "StepInfo": { "StepStatus": "PENDING" }, "StepName": "FINALIZE_UPDATE" } ], "OperationType": "UPDATE_CLUSTER_KAFKA_VERSION", "SourceClusterInfo": { "KafkaVersion": "2.4.1" }, "TargetClusterInfo": { "KafkaVersion": "2.6.1" } } }
如果
OperationState
的值为UPDATE_IN_PROGRESS
,请等待一段时间,然后再次运行describe-cluster-operation
命令。操作完成后,OperationState
的值变为UPDATE_COMPLETE
。由于 Amazon MSK 完成操作所需的时间各不相同,因此您可能需要反复检查,直到操作完成。
使用 API 更新 Apache Kafka 版本
调用该GetCompatibleKafkaVersions操作以获取您可以将集群更新到的 Apache Kafka 版本列表。
调用该UpdateClusterKafkaVersion操作将集群更新到兼容的 Apache Kafka 版本之一。