如何在更改集群中的节点数后恢复 Cassandra 快照

How to restore Cassandra shapshot after changing number of nodes in the cluster

假设我们有一个包含以下节点的 3 节点集群:node1、node2、node3。 有一天,我们为整个集群创建了一个快照,并将快照表从每个节点复制到外部备份服务器。

一段时间过去了,现在集群增长了:我们有 5 个节点,而不是 3 个节点。除此之外,原来的一个节点已经不存在了,所以集群现在看起来是这样的:node1, node3, node4, node5, node6.

如何将快照数据正确恢复到变更后的集群中? 在提到的情况下,唯一的方法是使用 sstableloader,我说得对吗?

如果是,如果快照放在未安装Cassandra 的备份服务器上,如何启动恢复过程?我需要在那里安装 sstableloader 还是可以远程启动它?

sstableloader 恢复数据的速度有多快?

您最好的选择是阅读以下内容:

http://www.datastax.com/dev/blog/using-the-cassandra-bulk-loader-updated

简而言之,sstable 加载程序将了解您要将数据推送到的集群的拓扑结构。所以数据最终会出现在正确的节点上。

如果出于某种原因,将 sstables 转移到节点可能更可行。您可能只是将它们放入正确的文件夹,然后 运行 重新加载或重新启动...然后进行清理,但与 sstable 加载程序相比,它就没有那么优雅了。