更新 Amazon MSK 集群代理大小 - Amazon Managed Streaming for Apache Kafka
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

更新 Amazon MSK 集群代理大小

您可以通过更改代理的大小来按需扩展 MSK 集群,不必重新分配 Apache Kafka 分区。通过更改代理的大小,您可以根据工作负载的变化灵活地调整 MSK 集群的计算容量,不会中断集群 I/O。Amazon MSK 对指定集群中的所有代理使用相同的代理大小。

本部分介绍了如何更新 MSK 集群的代理大小。对于标准代理,您可以将集群代理大小从 M5 或 T3 更新为 m7g,或者从 m7g 更新为 M5。对于 Express 经纪商,您只能使用 m7g 经纪商大小。

注意

您无法从较大的经纪商规模迁移到较小的经纪商规模。例如,m7g.Large 到 t3.small。

请注意,迁移到较小的代理大小可能会降低性能并减少每个代理可实现的最大吞吐量。迁移到更大的经纪商规模可以提高性能,但成本可能会更高。

当集群启动并运行后,将以滚动方式更新代理大小。这意味着 Amazon MSK 一次关闭一个代理来更新代理大小。有关如何在代理大小更新期间使集群高度可用的信息,请参阅构建高度可用的集群。为了进一步降低对生产力的任何潜在影响,您可以在流量较低的时期更新代理大小。

代理大小更新期间,您可以继续生成和使用数据。不过,您必须等到更新完成,才能重启代理或调用 Amazon MSK operations 下列出的任何更新操作。

如果想将集群更新为较小的代理大小,建议您先在测试集群上尝试更新,了解会对场景产生的影响。

重要

如果每个代理的分区数超过 正确调整集群规模:每个标准代理的分区数 中指定的最大数量,则无法将集群更新为较小的代理大小。

使用更新 Amazon MSK 集群代理的大小 Amazon Web Services Management Console

此过程说明如何使用更新 Amazon MSK 集群代理大小 Amazon Web Services Management Console

  1. 登录并在https://console.aws.amazon.com/msk/家中打开 Amazon MSK 控制台? Amazon Web Services Management Console region=us-east-1#/home/。

  2. 选择要更新代理大小的 MSK 集群。

  3. 在集群的详细信息页面上,找到代理摘要部分,然后选择编辑代理大小

  4. 从列表中选择所需的代理大小。

  5. 保存更改。

使用更新 Amazon MSK 集群代理的大小 Amazon CLI

运行以下命令,并将 ClusterArn 替换为创建集群时所获取的 Amazon 资源名称(ARN)。如果您没有该集群的 ARN,可以通过列出所有集群来找到它。有关更多信息,请参阅 列出 Amazon MSK 集群

  1. Current-Cluster-Version替换为集群的当前版本以及TargetType您希望代理的新大小。要了解有关代理大小的更多信息,请参阅亚马逊 MSK 经纪商类型

    aws kafka update-broker-type --cluster-arn ClusterArn --current-version Current-Cluster-Version --target-instance-type TargetType

    下面的示例说明如何使用此命令:

    aws kafka update-broker-type --cluster-arn "arn:aws:kafka:us-east-1:0123456789012:cluster/exampleName/abcd1234-0123-abcd-5678-1234abcd-1" --current-version "K1X5R6FKA87" --target-instance-type kafka.m5.large

    该 命令的输出如以下 JSON 示例所示。

    { "ClusterArn": "arn:aws:kafka:us-east-1:0123456789012:cluster/exampleName/abcd1234-0123-abcd-5678-1234abcd-1", "ClusterOperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef" }
  2. 要获得update-broker-type操作结果,请运行以下命令,ClusterOperationArn替换为在命令输出中获得的 ARN。update-broker-type

    aws kafka describe-cluster-operation --cluster-operation-arn ClusterOperationArn

    describe-cluster-operation 命令的输出如以下 JSON 示例所示。

    { "ClusterOperationInfo": { "ClientRequestId": "982168a3-939f-11e9-8a62-538df00285db", "ClusterArn": "arn:aws:kafka:us-east-1:0123456789012:cluster/exampleName/abcd1234-0123-abcd-5678-1234abcd-1", "CreationTime": "2021-01-09T02:24:22.198000+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_COMPLETE", "OperationType": "UPDATE_BROKER_TYPE", "SourceClusterInfo": { "InstanceType": "t3.small" }, "TargetClusterInfo": { "InstanceType": "m5.large" } } }

    如果 OperationState 的值为 UPDATE_IN_PROGRESS,请等待一段时间,然后再次运行 describe-cluster-operation 命令。

使用 API 更新代理大小

要使用 API 更新经纪商规模,请参阅UpdateBrokerType

您可以使用 UpdateBrokerType 将集群代理大小从 M5 或 T3 更新为 M7g,或者从 M7g 更新为 M5。