是否可以在没有快照的情况下恢复 Cassandra 节点?
Is it possible to recover a Cassandra node without a snapshot?
Cassandra 的异地备份似乎是一件具有挑战性的事情。您基本上必须制作所有数据的另一个副本,包括由于复制因素而存在的数据副本。当您不介意将快照存储在您的节点已使用的同一磁盘上时,快照使备份变得容易。我很好奇 - 如果此磁盘发生灾难性故障,是否可以使用数据复制到的节点来恢复节点?
是的,这是可能的。只需在丢失数据的节点上的终端 "nodetool repair" 中执行即可。这可能需要很多时间。另外我建议每个月在每个节点上执行修复操作以保持数据始终被复制,因为 cassandra 不会自动修复数据(例如在节点掉落之后)。
是的,您可以使用文档中的过程恢复崩溃节点上的数据 - Replacing a dead node or dead seed node。适用于 Cassandra 3.x,请从页面顶部的下拉菜单中选择您的 Cassandra 版本。
但请注意,如果您的数据很有价值,您仍然需要进行备份。如果您使用 AWS,您可以使用 this project 将 Cassandra 备份到 S3 存储。
如果您正在寻找异地或主机外备份,您还可以查看 Datastax 或 Talena 软件(我公司)的 opscenter。两者都为您提供了在本地或 S3 备份数据库的能力。如您所料,您还可以在硬件故障、用户错误或逻辑损坏的情况下恢复数据,而副本无法保护您免受这些情况的影响。
Cassandra 的异地备份似乎是一件具有挑战性的事情。您基本上必须制作所有数据的另一个副本,包括由于复制因素而存在的数据副本。当您不介意将快照存储在您的节点已使用的同一磁盘上时,快照使备份变得容易。我很好奇 - 如果此磁盘发生灾难性故障,是否可以使用数据复制到的节点来恢复节点?
是的,这是可能的。只需在丢失数据的节点上的终端 "nodetool repair" 中执行即可。这可能需要很多时间。另外我建议每个月在每个节点上执行修复操作以保持数据始终被复制,因为 cassandra 不会自动修复数据(例如在节点掉落之后)。
是的,您可以使用文档中的过程恢复崩溃节点上的数据 - Replacing a dead node or dead seed node。适用于 Cassandra 3.x,请从页面顶部的下拉菜单中选择您的 Cassandra 版本。
但请注意,如果您的数据很有价值,您仍然需要进行备份。如果您使用 AWS,您可以使用 this project 将 Cassandra 备份到 S3 存储。
如果您正在寻找异地或主机外备份,您还可以查看 Datastax 或 Talena 软件(我公司)的 opscenter。两者都为您提供了在本地或 S3 备份数据库的能力。如您所料,您还可以在硬件故障、用户错误或逻辑损坏的情况下恢复数据,而副本无法保护您免受这些情况的影响。