我已經搜索了此問題的以前版本,但沒有一個適合我的情況。我有一個運行2.0.x的現有Cassandra集羣。我已經分配了新的虛擬機,所以我不想升級現有的Cassandra節點 - 而是希望遷移到a)新的虛擬機和b)更新版本的Cassandra。Cassandra從2.0.x升級到2.1.x或3.0.x
我知道就地升級,我會升級到最新的2.0.x,然後升級到最新的2.1.x. AFAIK,這裏沒有SSTable不一致。如果我通過添加新節點進入該路線,我假設我會遵循datastax指令來添加新節點/退役舊節點?
鑑於上述情況,是否可以從2.0.x移動到3.0.x?我知道SSTable格式是不同的;但是,如果我添加新節點(而不是在磁盤上重新使用SSTables),這是否重要?
這在我看來,#2的工作 - 否則,就意味着任何需要的SSTable升級升級將需要脫機同時採取所有節點;否則,在某個時刻,將在同一集羣中運行混合的2.x.x和3.0.x版本。
我完全錯了嗎?有沒有人有這樣的經驗?
另外,你應該在升級之前運行'nodetool drain'。它將刷新memtables。 – questionare