1
我正在運行復制因子爲3的3節點Cassandra集羣。我最近不得不更換其中一個節點。其他兩個節點中存在的數據會自動複製到新節點還是必須以某種方式手動執行?如果一個節點在Cassandra中被替換,數據會自動複製到該節點上嗎?
我正在運行復制因子爲3的3節點Cassandra集羣。我最近不得不更換其中一個節點。其他兩個節點中存在的數據會自動複製到新節點還是必須以某種方式手動執行?如果一個節點在Cassandra中被替換,數據會自動複製到該節點上嗎?
默認2.x,是。如果auto_bootstrap配置選項不在cassandra.yaml文件中,或者它被設置爲True,那麼它將在它聯機後立即對其現在負責的所有數據進行流式傳輸。如果auto_bootstrap設置爲False,那麼它將而不是,直到您調用nodetool重建爲止。
正如但是documentation指出,還有最後一步,如果你可以讓系統自動流中的數據:
所有新的節點後運行,在每個先前存在的節點上運行nodetool清理刪除不再屬於這些節點的密鑰。在下一個節點上運行nodetool清理之前,等待清理在一個節點上完成。
清理可以安全地推遲到低使用時間。
如果您不運行清理,那麼所有舊數據位(移動到新節點的數據位)將保留在舊的3個節點上。
編輯:此外,未在文章中提及,請確保您在種子列表中設置了種子。否則,它當然不會知道在哪裏查找數據。