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

上次更新时间:2021 年 01 月 06 日

如何调整 Amazon Redshift 集群的大小。这对性和计费会产生何种影响?

解决方法

可通过以下三种方式调整 Amazon Redshift 集群的大小:

  • 弹性调整大小:如果存在弹性调整大小这一选项,请使用它来更改节点类型和/或节点数量。请注意,当您仅更改节点数量时,查询将暂时暂停并且连接将保持打开状态。弹性调整大小操作可能需要 10-15 分钟。在进行调整大小操作期间,该集群为只读状态。
  • 经典调整大小:可使用经典调整大小来更改节点类型和/或节点数量。当您要调整为无法使用弹性调整大小选项的配置时,请选择此选项。调整大小操作可能需要两个小时或更长时间,最久或可持续几天,具体取决于您的数据的大小。在进行调整大小操作期间,源集群为只读状态。
  • 快照、还原和调整大小:要使集群在进行经典调整大小操作期间可用,请先创建现有集群的副本。然后,调整新集群的大小。如果要在拍摄快照后将数据写入源集群,则必须在迁移完成后手动复制数据。

调整大小操作的速度

使用具有相同节点类型来进行弹性调整集群大小操作时,不会创建新集群。因此,操作很快便会完成。完成经典调整大小或快照和还原操作所需的时间可能会有所不同,具体取决于以下因素:

  • 源集群上的工作负载。
  • 正在传输的表的数量和大小。
  • 在计算节点和切片之间分布数据的均匀程度。
  • 源集群和目标集群中的节点配置。

要减少经典调整大小或快照和还原操作所需的时间:

要检查使用 Amazon Redshift 控制台进行调整大小操作的状态,请选择集群详细信息页面上的 Status(状态)选项卡。Status(状态)选项卡会显示平均传输速率、已用时间和剩余时间。

问题排查

  • 在进行调整大小操作期间,表的大小会增加或减小。此行为属于预期行为。有关更多信息,请参阅为什么 Amazon Redshift 集群中的表使用的磁盘存储空间高于预期?
  • 如果集群在 AWS 命令行界面 (AWS CLI) 中的状态显示为 NONE(无),则说明目标集群的预置仍在进行中。当您的目标集群正在被预置时,则还尚未被复制。目标集群完成预置后,状态会更改为 IN_PROGRESS
  • 如果您收到错误消息,提示您“请选择大型目标集群”,则表明您的数据不适合目标集群。使用更多节点或不同的节点类型来调整 Amazon Redshift 集群的大小。
  • 要在调整大小操作完成前进行取消操作,请从 Amazon Redshift 控制台的集群列表中选择cancel resize(取消调整大小)。有关更多信息,请参阅快照、还原和调整大小

为已调整过大小的集群付费

  • 在进行调整大小操作期间,您需要为所有可供您使用的集群付费。例如,在调整大小操作期间,您需要为源配置付费。在调整大小操作完成后,则不再需要为源配置付费。一旦集群状态更改为 available(可用),即开始对目标配置收费。使用快照和还原方法时,您将临时拥有一个额外的集群。在清理环境之前,您需要为此额外集群付费。
  • 若将较小节点类型 (large、xlarge) 调整为较大节点类型 (8xlarge),您的集群中的每个节点都需要更多存储空间。每个节点的存储空间越多,在运行 COMMIT(提交)时,写入的元数据便会更多。因此,单一 commit(提交)操作的基本成本比较大节点的成本更高。如果同时运行多个小 COMMIT(提交)操作,则可能会看到性能下降。为了获得更好的性能,请将多个更改分组为单一 commit(提交)操作。
  • 如果您购买了预留实例,则计费取决于已调整大小的集群配置、预留节点类型和预留节点数量。有关更多信息,请参阅预留节点的工作原理

这篇文章对您有帮助吗?


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