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

1 分钟阅读
0

我尝试使用 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 个节点之间的任意大小。
  • 对于 ra3.16xlarge 或 ra3.4xlarge 节点类型: 最多可以调整到原始节点数的四倍,也可以向下调整到原始节点数的四分之一。例如,可以将 16 个节点的集群调整为 4 到 64 个节点之间的任意大小。
  • 对于 ra3.xlplus 节点类型: 最多可以调整到原始节点数的两倍,也可以向下调整到原始节点数的四分之一。例如,可以将 16 个节点的集群调整为 4 到 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 可以帮助您确定弹性大小调整的适当节点配置,例如节点数和类型。

相关信息

如何调整 Amazon Redshift 集群的大小?

Amazon Redshift 中的集群管理概览

AWS 官方
AWS 官方已更新 2 个月前