是否可以在没有快照的情况下恢复Cassandra节点?

是否可以在没有快照的情况下恢复Cassandra节点?,cassandra,datastax,Cassandra,Datastax,卡桑德拉的异地备份似乎是一件具有挑战性的事情。基本上,您必须为所有数据制作另一个副本,包括由于复制因素而存在的数据副本。当您不介意将快照存储在节点已使用的同一磁盘上时,快照可以简化备份。我很好奇-如果此磁盘发生灾难性故障,是否可以使用数据复制到的节点恢复节点?是的,这是可能的。只需在丢失数据的节点上执行终端“nodetool repair”。这可能需要很多时间。此外,我建议每月在每个节点上执行修复操作,以始终复制您的数据,因为cassandra不会自动修复数据(例如,在节点掉落之后)。是的,您可

卡桑德拉的异地备份似乎是一件具有挑战性的事情。基本上,您必须为所有数据制作另一个副本,包括由于复制因素而存在的数据副本。当您不介意将快照存储在节点已使用的同一磁盘上时,快照可以简化备份。我很好奇-如果此磁盘发生灾难性故障,是否可以使用数据复制到的节点恢复节点?

是的,这是可能的。只需在丢失数据的节点上执行终端“nodetool repair”。这可能需要很多时间。此外,我建议每月在每个节点上执行修复操作,以始终复制您的数据,因为cassandra不会自动修复数据(例如,在节点掉落之后)。

是的,您可以使用文档中的过程恢复崩溃节点上的数据-。这是为Cassandra 3.x设计的,请从页面顶部的下拉菜单中选择您的Cassandra版本


但请注意,如果您的数据有价值,您仍然需要进行备份。如果您使用AWS,您可以使用它将Cassandra备份到S3存储。

如果您正在寻找非现场或非主机备份,您还可以查看Datastax或software(我的公司)的opscenter。两者都提供了本地备份数据库或将数据库备份到S3的能力。正如您所期望的,您还可以在硬件故障、用户错误或逻辑损坏时恢复数据,而复制副本无法保护您免受这些损坏。

我对您的答案投了反对票nodetool repair不会替换死节点。此外,如果启用了读取修复,修复也可以自动进行。@gsteiner您关于
nodetool repair
不替换死节点的看法是正确的,但是读取修复不会修复整个表,因此它无法替换偶尔的修复操作。谢谢Denisz。我们打算明年初搬到AWS。一旦这样做了,我认为真正的备份(即在不同于数据来自服务器的硬件上)会容易得多。同时,我们在3台不同的服务器上拥有数据,每台服务器都有两个镜像驱动器。我认为现在在这些驱动器上存储快照和增量是安全的。知道我可以从它复制到的节点恢复一个死节点,这让人放心。