更新经纪人类型 - 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 集群的代理类型。当集群启动并运行时,代理类型的更新会以滚动方式进行。这意味着 Amazon MSK 一次只能关闭一个经纪人来执行经纪人类型的更新。有关如何在代理类型更新期间使集群高度可用的信息,请参阅构建高度可用的集群。为了进一步减少对生产力的任何潜在影响,您可以在流量低的时期执行经纪人类型的更新。

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

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

重要

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

使用更新经纪人类型Amazon Web Services Management Console

  1. 在以下位置打开亚马逊 MSK 控制台https://console.amazonaws.cn/msk/

  2. 选择要更新代理类型的 MSK 集群类型。

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

  4. 从列表中选择所需的代理类型。

  5. 保存更改。

使用更新经纪人类型Amazon CLI

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

    将 C urrent-Cluster- Version 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替换为您在update-broker-type命令输出中获得的 ARN。

    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