3

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

分区器:org.apache.cassandra.dht.RandomPartitioner

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

错误 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 桌面上复制了这个,所以我想我在这里做错了什么。

任何帮助表示赞赏!

干杯

山姆

4

2 回答 2

9

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

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

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

于 2013-04-08T09:15:44.890 回答
2

当我执行一次操作时,我遇到了 Sam 报告的类似错误

[root@fedora 用户]# dse cassandra. 为了纠正我所做的问题:

  1. [root@fedora 用户]# vi /etc/dse/cassandra/cassandra.yaml
  2. 在 cassandra.yaml 文件中进行了以下更改

注释掉“#partitioner: org.apache.cassandra.dht.Murmur3Partitioner”并替换为“partitioner: org.apache.cassandra.dht.RandomPartitioner” 3. 保存 cassandra.yaml 中的更改

希望这可以帮助。

马尤赫。

于 2013-12-03T13:51:02.713 回答