AWS Redshift 节点故障 - 尽管有多个节点,但整个集群是不是不可用?

Posted

技术标签:

【中文标题】AWS Redshift 节点故障 - 尽管有多个节点,但整个集群是不是不可用?【英文标题】:AWS Redshift Node Failure - is the entire cluster unavailable despite having mutliple nodes?AWS Redshift 节点故障 - 尽管有多个节点,但整个集群是否不可用? 【发布时间】:2021-11-23 05:03:44 【问题描述】:

我正在查看 Redshift 的官方 FAQ。他们表示,如果“节点出现故障,集群在 Redshift 替换节点时仍然不可用。我想知道这是否适用于具有多个节点的 Redshift 集群?Redshift 确实支持多达 120 个节点 - 所以如果 1 个节点出现故障 - 整个Redshift 集群仍然不可用?

(我的困惑是我无法正确辨别常见问题解答是在谈论具有 1 个节点还是多个节点的集群)

【问题讨论】:

【参考方案1】:

对于单节点集群,单个计算节点也是领导节点。节点数据的副本不会复制到其他节点上,因为没有其他节点可以将其复制到。磁盘故障或节点故障将导致数据库完全崩溃,需要重新启动并从 S3 快照恢复。由于这个单节点 Redshift“集群”不推荐用于生产工作负载。这些是为了尝试 Redshift 和开发工作。

在多节点 Redshift 集群中,来自每个计算节点的数据会复制到其他一些节点集中。如果某个节点上的磁盘发生故障,则可以从这些其他节点/磁盘获取数据,直到更换磁盘并将数据带回新磁盘。这一切都是无缝的,除非您查看日志,否则您可能不会注意到。

在配置替换节点时,计算节点故障将导致集群操作出现短暂暂停。一旦替换完成,集群将开始使用来自其他节点的备份节点数据执行查询。很快,该节点将被其所有数据“重新填充”。节点故障比磁盘故障少得多。

如果领导节点发生故障,在任何规模的集群上,数据库都会崩溃,需要从 S3 快照中恢复。领导节点故障非常罕见,但因此 Redshift 不是一个完整的 HA 数据库。有时人们会为此使用 2 个 Redshift 集群并设置一个主集群和一个备用集群。

【讨论】:

以上是关于AWS Redshift 节点故障 - 尽管有多个节点,但整个集群是不是不可用?的主要内容,如果未能解决你的问题,请参考以下文章

调整AWS Redshift集群的大小,每个节点是否需要IP?

AWS Redshift 列式存储与分布方式

AWS Glue:SQL Server 多个分区数据库 ETL 到 Redshift

同一 Redshift 集群上的 AWS 容器化应用程序和数据库

AWS Glue 作业将 Null 写入 Redshift

将数据从 AWS Redshift 导入到 BI Tool 的最快方法