繁体   English   中英

在开发人员或测试集群(单节点集群)上还原Cassandra快照(来自3节点集群)

[英]Restore Cassandra snapshot (from 3-node-cluster) on developer or test cluster (1-node cluster)

我们已经通过快照为我们的Cassandra生产环境设置了备份/恢复过程。 快照文件,架构和令牌环信息将复制到S3。

生产群集是3节点群集,复制因子为3。

对于开发和测试,我想将生产中的快照还原到分离的集群中。 为了节省资金并保持维护简单,最好只从一个生产节点恢复快照。 由于我们在3节点集群中使用复制因子3,因此每个快照应包含所有行。 对我们的用例而言,一致性也不重要。

是否可以(以及如何)仅恢复单个快照?

所有数据都应该存在于所有3个节点上,因此将sstables从任意1个节点复制到测试集群就足够了。 如果担心一致性,确保事先最近修复可能是个好主意。

首先在测试集群上创建相同的模式。 然后,您只需使用nodetool snapshot -t cloneme 完成后,将所有sstables从创建的文件夹(cloneme)复制到测试群集上的等效表文件夹中。 然后运行nodetool refresh

如果你有一个不同的拓扑(更多的节点,不同的RF),它会变得更加复杂,但是因为你的“每个节点都拥有所有数据”,所以它非常简单。

值得一提的是,OpsCenter具有自动将备份复制到其他群集的功能

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM