2013-04-07 53 views
2

我使用apt在Debian上安裝Cassandra 1.2.3,之前我使用的是tarball 1.1.7安裝。安裝後,我改變了從Murmur3Partitioner的分區來RandomPartitioner在cassandra.yaml如下:版本1.2.3上的Cassandra RandomPartitioner

分區:org.apache.cassandra.dht.RandomPartitioner

然後在開始我看到的不兼容的系統密鑰空間錯誤,如下:

錯誤18:22:11,465無法打開/ var/lib/cassandra/data/system/schema_keyspaces/system-schema_keyspaces-ib-1; partitioner org.apache.cassandra.dht.Murmur3Partitioner與系統分區器org.apache.cassandra.dht.RandomPartitioner不匹配。請注意,以Cassandra 1.2開頭的默認分區程序是Murmur3Partitioner,因此如果升級,您需要編輯該分區以匹配舊的分區程序。 返回值爲1的服務出口

如何將系統密鑰空間設置爲RandomPartitioner?我嘗試清除數據文件夾,apt-get刪除,apt-get清除然後重新安裝,更改爲RandomPartitioner,然後啓動cassandra,但它仍然失敗。我也已經在我的Ubuntu桌面上複製了這個,所以我想我在這裏做錯了什麼。

任何幫助表示讚賞!

乾杯

山姆

回答

8

的分區,不能改變,一旦卡桑德拉已開始首次。此錯誤顯示數據目錄已用Murmur3Partitioner初始化,但您正在使用RandomPartitioner啓動它。

如果您嘗試從1.1安裝中升級數據,Cassandra不會從正確的位置讀取數據。調整您的數據目錄以使用您的1.1目錄,並且應該將分區程序設置爲RandomPartitioner。

如果您嘗試啓動時沒有數據,請停止Cassandra,刪除/ var/lib/cassandra/*並重新啓動它。請注意,您需要刪除commitlog目錄以及數據目錄。

+0

這是有道理的 - 當安裝它時好心地啓動完成後爲您創建系統CF與Murmur。在更改爲隨機並重新啓動後,刪除數據目錄中的系統目錄將其重新創建爲使用RandomPartitioner。 謝謝你非常感謝! :) – Sam 2013-04-08 17:28:15

+0

@Richard你好,請你迴應我對這個問題的評論。我不知道如何跟我聯繫,我是否偷偷摸摸:) http://stackoverflow.com/questions/16800536/retrieve-multiple-columns-value-from-cassandra-using-hector-client – qualebs 2013-07-23 08:44:31

2

我有一個類似的錯誤由山姆報道時,我做了一個

[根@的fedora用戶]#DSE卡桑德拉。 要糾正我做的問題:

  1. [根@的fedora用戶]#六/etc/dse/cassandra/cassandra.yaml
  2. 在cassandra.yaml文件提出了以下變化

註釋掉「#分區:org.apache.cassandra.dht.Murmur3Partitioner」,取而代之的是「分區:org.apache.cassandra.dht.RandomPartitioner」 3.保存

在cassandra.yaml的變化希望這幫助。

Mayukh。

相關問題