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

时间:2018-03-07 20:55:52

标签: cassandra cassandra-3.0

我是cassandra的新手,想要帮助将3个节点Cassandra集群的快照恢复到新的6节点集群。 我们的键空间很少,并且希望将数据从开发复制到生产。

提前致谢。

1 个答案:

答案 0 :(得分:5)

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

首先需要在新群集上重新创建架构:

  1. 使用cqlsh -e 'DESC KEYSPACE mykeyspace;' > mykeyspace.cql
  2. 转储要从原始群集传输的键空间的架构
  3. 使用cqlsh -f mykeyspace.cql将其加载到新群集中。
  4. (可选)如果新群集具有不同的复制配置,则需要在加载架构后手动修改它。 (ALTER KEYSPACE mykeyspace WITH REPLICATION = ...;
  5. 完成后,您可以开始将密钥空间快照中的SSTable批量加载到新群集中:

    sstableloader --nodes 10.0.0.1,10.0.0.2 -f /etc/cassandra/cassandra.yaml /path/to/mykeyspace/snapshot/
    

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