2015-08-24 29 views
1

我有一個3節點cassandra集羣,並且在我的種子上,num_tokens設置爲256.我試圖將其設置爲1或將其註釋掉......但每次當我開始卡桑德拉,我得到這個錯誤:無法將令牌數量從256更改爲1

ERROR 21:28:08 Fatal configuration error 
org.apache.cassandra.exceptions.ConfigurationException: Cannot change the number of tokens from 256 to 1 

我還做了一個rm -rf /var/lib/cassandra/*

我也試圖進入system.local定製列表中刪除,並在tokens領域的一切,但我不能。我如何改變這個屬性?

+3

因爲你吹走你的'的/ var/lib中/ cassandra'目錄我假設你沒有在這個集羣有價值的數據(或至少有其他副本流的來源)。如果是這種情況,請確保刪除'data'目錄和'commitlog'目錄,併爲該節點提供當前在羣集中的節點的種子。節點應該用新配置引導。 – phact

回答

2

按照以下步驟來解決此問題:

第1步 - 計算令牌節點(替換「number_of_tokens」與有效值的所有出現):

python -c 'print [str(((2**64/number_of_tokens) * i) - 2**63) for i in range(number_of_tokens)]' 

第2步 - 重新配置在cassandra.yaml令牌屬性:

  • 註釋掉num_tokens
  • 設置令牌分配initial_token
  • 假auto_bootstrap:真

第3步 - 刪除以下目錄。這將確保它們的所有內容完全清除。

  • data_file_directories(路徑是cassandra.yaml配置文件)
  • commitlog
  • saved_caches

第4步 - 重新創建上層目錄,並確保卡桑德拉具有完全的權限。

第5步 - 通過啓動DSE再次引導節點。

Original post here

相關問題