2

关于更改分区器类型的问题:我想使用 sstableloader 将数据从旧集群复制到新集群。但旧集群使用的是 RandomPartitioner,而新集群使用的是 Murmur3Partitioner。您可能会问为什么不使用 COPY 命令将数据导出到 csv 并再次导入呢?好吧,我们有庞大的数据集,COPY 命令不起作用(所有其他节点的数据将聚合到一台机器上)。

是否可以将新的集群分区器切换到 RandomPartitioner,使用 sstableloader 进行数据复制,然后切换回来?(我尝试切换,但 cassandra 不会因此而重新启动......)

4

1 回答 1

4

不,您不能更改分区程序。这将需要 Cassandra 重新分配所有数据并且不受支持。

您可以使用 sstable2json(使用旧 yaml),然后使用 json2sstable(使用新 yaml)手动转换您的 SSTable。然后你可以使用 sstableloader。

于 2014-06-01T23:25:24.607 回答