更改Cassandra分区器类型

时间:2014-05-31 02:27:51

标签: cassandra cqlsh nosql

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

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

1 个答案:

答案 0 :(得分:4)

不,您无法更改分区程序。这将要求Cassandra重新分发所有数据,并且不受支持。

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