RedShift节点故障转移

时间:2013-12-12 09:11:10

标签: amazon-web-services amazon-redshift failovercluster

我有一个包含4个节点的RedShift集群。

  1. 当其中一个节点发生故障时,整个群集是否会变为不可用?
  2. 如果是 - 有多长时间?
  3. 当群集返回时 - 它是否返回到失败前的相同点,或者数据可能会在几小时前回滚到S3快照?
  4. 如何模拟这种情况以自行检查此方案?
  5. 非常感谢!

2 个答案:

答案 0 :(得分:8)

如果是单节点故障 - 亚马逊将启动一个新节点并从其他节点流式传输数据(如果有的话,每个块都写入两个不同的节点)。 在这种情况下,我们可以期待:

  1. 整个群集的停机时间,直到新节点启动+填充数据库信息。应该是3-4分钟左右。
  2. 在这3-4分钟之后,该群集将返回到它崩溃之前的完全相同的点。集群可用于读写。
  3. 由于群集中的数据重新分配,将会出现一些减速。
  4. 如果多个节点出现故障,redshift将从最新的S3备份中恢复。 S3备份在以下情况下完成:

    1. 如果自上次备份以来已经过了8个小时
    2. 如果RedShift自上次备份以来填充了超过5GB的数据
    3. 手动
    4. 当您选择终止群集时,您可以选择最终快照

答案 1 :(得分:5)

它恰好发生在我的群集中 - 其中一个节点失败了。在仪表板中花了差不多20分钟才注意到(“性能”选项卡中显示不健康,但“状态”选项卡中显示健康状况。)

从最初的失败开始1小时后,集群将其状态更改为“正在修改”,并且在1小时后,新的节点就位。

“近期事件”中有一条消息:

  

Amazon Redshift群集'xxx'上的节点在2013-12-18 11:42 UTC自动替换。该集群现在正常运行。

整个时间集群都不可用 - 没有运行任何查询,也无法进行导入。

数据与失败时的数据完全相同。