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

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

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

解决方法

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

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

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

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

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

从 AWS 实验室运行表检查器脚本以标识偏斜的表。要修复偏斜的表,请选择合适的分配键。有关更多信息,请参阅 Amazon Redshift Engineering’s advanced table design playbook: Distribution styles and distribution keys。 删除未使用的表。要标识未使用的表,请从 AWS 实验室运行未扫描的表摘要脚本。
注意:未扫描的表摘要仅显示近期历史记录(2-5 天)。可使用 System Object Persistence Utility 来捕获较长时段的使用数据。 提高调整大小操作的速度。有关更多信息,请参阅 Top 10 performance tuning techniques for Amazon Redshift。

要检查使用 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(提交)操作。 如果您购买了预留实例,则计费取决于已调整大小的集群配置、预留节点类型和预留节点数量。有关更多信息,请参阅预留节点的工作原理。