如何在更改集群中的节点数后恢复 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 加载程序相比,它就没有那么优雅了。
假设我们有一个包含以下节点的 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 加载程序相比,它就没有那么优雅了。