我在我的系统上安装了 Cassandra 1.1.2 作为单节点集群,并具有三个键空间:hotel
、student
和 employee
.如果可能,我想转储 hotel
的键空间模式及其列族数据,并在其他 Cassandra 集群上恢复转储。谁能详细建议我该怎么做?
最佳答案
您可以使用 sstable2json
和 json2sstable
cassandra 工具
查看 Datastax documentation同样和this也是
Usage: sstable2json [-f outfile] <sstable> [-k key [-k key [...]]]
Usage: json2sstable -K keyspace -c column_family <json> <sstable>
您始终可以在文件中执行 cassandra-cli 命令
cassandra-cli -h HOST -p PORT -f fileName
您可以将所有创建语句加载到一个文件中并执行此命令
要获取 cli 脚本以创建键空间和列族,请在 cassandra-cli 界面中使用以下命令
show schema
但如果您想创建一个包含两个节点的集群。您不需要执行上述所有操作。只需启动具有不同 token 范围和相同集群名称的另一个节点即可。 Cassandra 内部将设法流式传输数据和模式信息
关于java - Cassandra 中的键空间模式导入和导出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11682197/