我为什么无法执行 Amazon Redshift 集群的弹性大小调整?

上次更新时间:2020 年 9 月 2 日

我尝试使用 AWS CloudFormation 为我的 Amazon Redshift 集群执行弹性大小调整。但是,它执行了一个经典的大小调整。为什么会发生这种情况?

解决方法

重要提示:如果您使用 Amazon Redshift 控制台调整集群的大小,则该集群不会在 AWS CloudFormation 模板中注册。反之,使用 AWS CloudFormation 模板确保 numberofNodes 参数得到更新。否则,尽管满足了调整大小的要求,但 Amazon Redshift 仍可能会执行经典的大小调整。如果自上次调整大小以来节点计数没有任何更改,Amazon Redshift 将采用这种方式。

如果以下任何要求未得到满足,Amazon Redshift 将执行经典的大小调整:

  • 仅修改了 numberofNodes 参数。
  • 对于 dc2.large 或 ds2.xlarge 节点类型,您只能将节点数加倍或将节点计数减少到原始集群的一半。
  • 对于 dc2.8xlarge 或 ds2.8xlarge 节点类型,您最多可以将大小调整为原始节点计数的两倍,或者将大小调整到原始节点计数的一半。例如,您可以将 16 个节点集群的大小调整为 8 与 32 个节点之间的任何大小。
  • 节点数量不能超过切片数量。切片数量在 Amazon Redshift 集群启动时确定。例如,如果您启动具有两个 dc2.large 节点的集群,则该集群有四个切片。因此,在使用弹性调整大小时,您只能将节点计数增加到四个节点。

如果您的 Amazon Redshift 集群执行了经典大小调整,请调查以下方面:

  • 检查 Amazon Redshift 控制台以确认您的集群中的实际节点数量。验证它是否与您的 AWS CloudFormation 模板中的 numberofNodes 参数匹配。
  • 使用 DescribeClusters API 从 AWS CloudTrail 中检索信息并确定根本原因分析。在 AWS CloudTrail 日志中查找 elasticResizeNumberOfNodeOptions 参数,以验证您的 Amazon Redshift 集群是否符合弹性大小调整资格。如果参数未列出用于更新节点计数的选项,则会确认集群切片无法满足弹性调整大小的要求。

注意:在为您的 Amazon Redshift 集群更新节点计数之前,请使用 DescribeNodeConfigurationOptions APIDescribeNodeConfigurationOptions API 可以帮助您为节点计数和类型等弹性大小调整确定适当的节点配置。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?