将快照从3节点Cassandra群集还原到新的6节点群集

1 cassandra cassandra-3.0

我是cassandra的新手,希望将快照从3节点Cassandra群集还原到新的6节点群集时有所帮助。我们只有几个键空间,希望将数据从开发人员复制到生产环境。

提前致谢。

Jus*_*ron 5

最简单的方法是使用与Cassandra捆绑在一起的sstableloader工具。您可以在中找到它%installdir%/bin/sstableloader。

您首先需要在新集群上重新创建模式:

  1. 使用以下命令转储要从原始集群转移的键空间的架构 cqlsh -e 'DESC KEYSPACE mykeyspace;' > mykeyspace.cql
  2. 使用将其加载到新集群中cqlsh -f mykeyspace.cql。
  3. (可选)如果新集群将具有不同的复制配置,则需要在加载架构后手动对其进行修改。(ALTER KEYSPACE mykeyspace WITH REPLICATION = ...;)

完成后,您可以开始将SSTables从键空间快照批量加载到新集群中:

sstableloader --nodes 10.0.0.1,10.0.0.2 -f /etc/cassandra/cassandra.yaml /path/to/mykeyspace/snapshot/
Run Code Online (Sandbox Code Playgroud)

请注意,如果要加载大量数据,则可能需要一段时间。之后,您还应该在新群集上进行全面修复,以确保副本正确分发。