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

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

更新经纪商规模

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

本节介绍如何更新 MSK 集群的代理大小。您可以将集群代理大小从 M5 或 T3 更新为 m7g,或者从 m7g 更新为 M5。请注意,迁移到较小的代理规模会降低性能,并降低每个代理可实现的最大吞吐量。迁移到更大的经纪商规模可以提高性能,但成本可能会更高。

当集群启动并运行时,代理规模的更新以滚动方式进行。这意味着 Amazon MSK 一次关闭一个经纪商来执行经纪商规模更新。有关如何在代理规模更新期间使集群具有高可用性的信息,请参阅。构建高度可用的集群为了进一步减少对生产率的任何潜在影响,您可以在流量较低的时期执行代理规模的更新。

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

如果您想将集群更新到较小的代理大小,我们建议您先在测试集群上尝试更新,以了解它会如何影响您的场景。

重要

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

使用更新经纪商规模 Amazon Web Services Management Console

  1. https://console.amazonaws.cn/msk/ 打开 Amazon MSK 控制台。

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

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

  4. 从列表中选择您想要的经纪商规模。

  5. 保存更改。

使用更新经纪商规模 Amazon CLI

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

    当前集群版本替换为集群的当前版本TargetType以及您希望代理的新大小。要了解有关经纪商规模的更多信息,请参阅经纪人规模

    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 更新经纪商规模,请参阅UpdateBroker类型

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