【发布时间】:2017-10-19 19:10:17
【问题描述】:
我需要将 Cassandra 架构和数据导出到文件中,以便在需要时快速设置相同的集群。
相同可能意味着相同的拓扑、相同的节点数和复制因子。
在 NetworkTopologyStrategy 的情况下,简单的文件备份/sstable 快照没有帮助,因为对等 IP 与其他数据一起记录。在另一个节点上恢复后,它会尝试访问源集群种子。
我很惊讶几乎没有现成的解决方案来完成此类任务。
假设我必须使用DESC SCHEMA; 然后解析所有表的输出,使用COPY keyspace.table TO /backup/keyspace.table.csv; 备份它们,然后使用 sstableloader 在其他节点上恢复。
有更好的解决方案吗?
【问题讨论】:
-
实际上是因为 ruby-cassandra-driver 不支持 DESC 和 COPY 我决定对 cqlsh 进行 shellout。对于我的情况,下面答案中的说明看起来太复杂了。