我们已经通过快照为我们的Cassandra生产环境设置了备份/恢复过程。快照文件,架构和令牌环信息将复制到S3。
生产群集是一个3节点群集,复制因子为3.
对于开发和测试,我想将生产中的快照还原到分离的群集中。为了节省资金并保持维护简单,最好只从一个生产节点恢复快照。由于我们在3节点集群中使用复制因子3,因此每个快照应包含所有行。对我们的用例而言,一致性也不重要。
是否可以(以及如何)仅恢复单个快照?
答案 0 :(得分:4)
所有3个节点上都应存在所有数据,因此将sstables从任意1个节点复制到测试集群就足够了。如果担心一致性,确保事先最近修复可能是个好主意。
首先在测试集群上创建相同的模式。然后,您只需使用nodetool snapshot -t cloneme
拍摄快照即可。完成后,将所有sstables从创建的文件夹(cloneme)复制到测试群集上的等效表文件夹中。然后运行nodetool refresh
。
如果你有一个不同的拓扑结构(更多的节点,不同的RF),它会变得更加复杂,但是因为你选择“每个节点都拥有所有数据”,所以它非常简单。
值得一提的是OpsCenter具有自动化copying of a backup to other clusters的功能。