2016-11-11 20 views
1

我找到了将密钥空间快照还原到相同密钥空间并将其还原到新集群的文档。但是,我试图在Cassandra中创建一个密钥空间的副本,并且找不到如何将快照还原到新的密钥空间。有谁知道这是可能的还是有其他建议如何制作密钥空间的副本?将卡桑德拉快照还原到同一集群中的新密钥空间

+0

如果你能负担得起再次转储数据或新的集群恢复快照,然后倾倒,那么你可以使用[复制](https://docs.datastax.com/en/cql/3.3 /cql/cql_reference/copy_r.html)命令。它虽然按表格工作。 – Ralf

+1

您是否检查过[this](http://stackoverflow.com/questions/40494304/cassandra-how-to-move-whole-tables-to-another-keyspace)? – xmas79

+0

出于某种原因,我们无法获得COPY的工作。数据有一堆\ n,并且它们没有正确地通过。创建一个新的表格选项看起来像会起作用,会尝试。 – tweeks200

回答

0

第1步: 在新的密钥空间中,按照旧密钥空间中定义的方式重新定义列族。您可以通过运行该CQL得到命令的列表:

DESCRIBE KEYSPACE;

请注意,在这里,您的密钥空间复制因子等应保持不变。

第2步(在每个节点上执行此操作): 在Cassandra数据目录内的旧密钥空间文件夹下,每个ColumnFamily应该有一个快照文件夹。将SSTables直接从快照文件夹复制到Cassandra目录中新密钥空间的相关ColumnFamily文件夹。

步骤3: 做滚动重启,并在每个节点上运行修复。

相关问题