版本1.2.3上的Cassandra RandomPartitioner

时间:2013-04-07 17:50:58

标签: cassandra

我使用apt在debian上安装Cassandra 1.2.3,我之前使用的是tarball 1.1.7安装。安装后我将分区器从Murmur3Partitioner更改为cassandra.yaml中的RandomPartitioner,如下所示:

partitioner:org.apache.cassandra.dht.RandomPartitioner

然后在开始时我看到不兼容的系统键空间错误如下:

ERROR 18:22:11,465无法打开/ var / lib / cassandra / data / system / schema_keyspaces / system-schema_keyspaces-ib-1;分区器org.apache.cassandra.dht.Murmur3Partitioner与系统分区器org.apache.cassandra.dht.RandomPartitioner不匹配。请注意,以Cassandra 1.2开头的默认分区程序是Murmur3Partitioner,因此如果需要升级,则需要对其进行编辑以匹配旧分区程序。 服务退出,返回值为1

如何将系统键空间设置为RandomPartitioner?我已经尝试清除数据文件夹,apt-get remove,apt-get purge然后重新安装,更改为RandomPartitioner然后启动cassandra但它仍然失败。我也在我的ubuntu桌面上复制了这个,所以我想我在这里做错了。

感谢任何帮助!

干杯

萨姆

2 个答案:

答案 0 :(得分:9)

Cassandra第一次启动时无法更改分区程序。此错误显示数据目录已使用Murmur3Partitioner初始化,但您正在使用RandomPartitioner启动它。

如果您尝试从1.1安装升级数据,Cassandra不会从正确的位置读取数据。调整您的数据目录以使用您的1.1目录,它应该从设置为RandomPartitioner的分区器开始。

如果您尝试从没有数据开始,请停止Cassandra,删除/ var / lib / cassandra / *并再次启动它。请注意,您需要删除commitlog目录以及数据目录。

答案 1 :(得分:2)

当我做了

时,我得到了Sam报告的类似错误

[root @ fedora用户] #dse cassandra。 为了解决我所做的问题:

  1. [root @ fedora user] #vi /etc/dse/cassandra/cassandra.yaml
  2. 在cassandra.yaml文件中进行了以下更改
  3. 注释掉“#cageer:org.apache.cassandra.dht.Murmur3Partitioner”并将其替换为“partitioner:org.apache.cassandra.dht.RandomPartitioner” 3.保存cassandra.yaml中的更改

    希望这有帮助。

    Mayukh。