我需要将数据从keyspace database1复制到keyspace database18。
这不是使用csqlcopy命令的选项(至少我不知道如何生成这样的脚本),因为我有103个不同的表,其中包含所有可以想象的列。
已创建键空间,已应用架构。
我已经试过做一个快照然后复制(mv)
1mv/data/cassandra/data/database1/tables/snapshot/copy//data/cassandra/data/database18/tables/
nodetool逐个刷新数据库18表
节点工具修复数据库18
我还尝试重新启动一台服务器:
nodetool禁用流言
nodetool排水管
重新启动
新的键空间表中没有数据。
当我进入csql时使用database18;从表1中选择*;
我收到一个空表“(0行)
cassandra版本为:[cqlsh 5.0.1 | cassandra 2.1.17.1439
也许我错过了什么,或者有不同的方法来实现这一点?
欢迎任何帮助或建议,谢谢!!!
1条答案
按热度按时间8aqjt8rx1#
我猜您的选择是:1)cql copy和/或dse bulk 2)sstableloader 3)code 4)第三方产品(我们有一个用于备份和恢复的产品—如果需要,可以对不同的群集执行此操作(以前是talena,以前是imanis,现在是Coherence)
如果表很大,而节点数很小,我会说使用sstableloader。效果很好。
-吉姆