2016-08-30 66 views
0

Cassandra的异地备份似乎是一件具有挑战性的事情。您基本上必须制作所有数据的另一个副本,包括由于复制因素而存在的数据副本。当您不介意将它存储在您节点已使用的同一磁盘上时,快照使备份变得轻松。我很好奇 - 在这个磁盘发生灾难性故障的情况下,是否可以使用数据复制到的节点恢复节点?是否可以在没有快照的情况下恢复Cassandra节点?

回答

1

是的,您可以使用文档 - Replacing a dead node or dead seed node中的过程恢复坠毁节点上的数据。对于Cassandra 3.x,请从页面顶部的下拉菜单中选择您的Cassandra版本。

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

+0

谢谢Deniszh。我们有意在明年初迁移到AWS。一旦完成,我认为真正的备份(I.E.在不同于服务器的硬件上的数据来自)会容易得多。同时,我们拥有3台不同服务器上的数据,每台服务器都有两个镜像驱动器。我认为我们现在可以安全地将快照和增量存储在这些驱动器上。知道我可以从它复制到的节点恢复一个死的节点是令人欣慰的。 – gsteiner

-1

是的,这是可能的。只需在节点上执行终端“节点工具修复”并丢失数据。这可能需要很长时间。另外,我建议每个月对每个节点执行一次修复操作,以便始终复制数据,因为cassandra不会自动修复数据(例如节点掉落后)。

+0

我downvoted你的答案nodetool修复不会取代死亡节点。另外,如果启用了读取修复,修复可能会自动发生。 – gsteiner

0

如果您正在寻找异地备份或脱离主机备份,您还可以从Datastax或Talena软件(我的公司)查看opscenter。两者都提供了将数据库本地备份到S3的功能。正如您所预料的那样,您还可以在硬件故障,用户错误或副本无法保护您的逻辑损坏的情况下恢复数据。