View a markdown version of this page

Amazon MSK 集群的稳定状态再平衡 - Amazon Managed Streaming for Apache Kafka

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

Amazon MSK 集群的稳定状态再平衡

稳定状态再平衡是智能再平衡功能的一部分,对于所有带有 Express 代理的新 MSK Provisioned 集群,该功能默认处于启用状态。当您向上或向下扩展集群时,Amazon MSK 会自动处理分区管理,方法是将分区分配给新的代理,并从代理中移出待删除的分区。为确保跨经纪商的最佳工作负载分配,智能再平衡使用 Amazon MSK 最佳实践来确定自动启动经纪人再平衡的阈值。

需要时,您可以暂停和恢复稳定状态的再平衡。稳定状态再平衡会持续监控您的集群,并执行以下操作:

  • 跟踪代理资源使用情况(CPU、网络、存储)。

  • 在不影响数据可用性的情况下自动调整分区位置。

  • 与标准经纪商相比,Express经纪商完成再平衡操作的速度最多可快180倍。

  • 保持集群性能。

主题
    Pause and resume steady state rebalancing in AWS 管理控制台
    1. https://console.aws.amazon.com/msk/家打开亚马逊 MSK 控制台? region=us-east-1#/home/。

    2. 集群页面上,选择基于 Express 的集群。有关创建预配置的基于 Express 的集群的信息,请参阅。步骤 1:创建预置 MSK 集群

    3. 在集群详细信息页面上,验证智能重新平衡状态是否为 “活动”。如果智能重新平衡不可用或状态为已暂停,请创建一个新的基于 Express 的集群。

    4. 在 “操作” 下拉列表中,选择 “编辑智能再平衡”。

    5. “编辑智能再平衡” 页面上,执行以下操作:

      1. 选择 “已暂停”。

      2. 选择保存更改

    Pause and resume steady state rebalancing using AWS CLI

    要使用将集群的重新平衡状态设置为 AWS CLI,请ACTIVE使用 update-re balancing 命令,如下例所示。在此命令中,使用rebalancing参数指定状态。

    aws msk update-rebalancing --cluster-arn arn:aws:kafka:us-east-1:123456789012:cluster/myCluster/abcd1234-5678-90ef-ghij-klmnopqrstuv-1 --current-version ABCDEF1GHIJK0L --rebalancing "{\"Rebalancing\":{\"Status\":\"ACTIVE\"}}"
    Pause and resume steady state rebalancing using AWS SDK

    您还可以使用 UpdateRebalancingRequestAPI 设置集群的重新平衡状态,以编程方式修改代理计数。以下示例说明如何将重新平衡状态设置为ACTIVE和。PAUSED

    final UpdateRebalancingRequest updateRebalancingRequest = new UpdateRebalancingRequest() .withClusterArn(arn:aws:kafka:us-east-1:123456789012:cluster/myCluster/abcd1234-5678-90ef-ghij-klmnopqrstuv-1) .withCurrentVersion(ABCDEF1GHIJK0L) .withRebalancing(new Rebalancing().withStatus("ACTIVE"));
    final UpdateRebalancingRequest updateRebalancingRequest = new UpdateRebalancingRequest() .withClusterArn(arn:aws:kafka:us-east-1:123456789012:cluster/myCluster/abcd1234-5678-90ef-ghij-klmnopqrstuv-1) .withCurrentVersion(ABCDEF1GHIJK0L) .withRebalancing(new Rebalancing().withStatus("PAUSED"));