我是cassandra的新手,想要帮助将3个节点Cassandra集群的快照恢复到新的6节点集群。 我们的键空间很少,并且希望将数据从开发复制到生产。
提前致谢。
答案 0 :(得分:5)
最简单的方法是使用与Cassandra捆绑在一起的sstableloader工具。您可以在%installdir%/bin/sstableloader
中找到它。
首先需要在新群集上重新创建架构:
cqlsh -e 'DESC KEYSPACE mykeyspace;' > mykeyspace.cql
cqlsh -f mykeyspace.cql
将其加载到新群集中。 ALTER KEYSPACE mykeyspace WITH REPLICATION = ...;
)完成后,您可以开始将密钥空间快照中的SSTable批量加载到新群集中:
sstableloader --nodes 10.0.0.1,10.0.0.2 -f /etc/cassandra/cassandra.yaml /path/to/mykeyspace/snapshot/
请注意,如果要加载大量数据,可能需要一段时间。您还应该在新群集上运行完整修复,以确保副本正确分发。