我試圖使用sstableloader將數據加載到Cassandra 3.5中。在Cassandra 2.1.9下使用nodetool snapshot
捕獲數據。除了一個以外,所有表格都可以正常加載它很小,只有2列和20行。所以,我輸入了這個bug:https://issues.apache.org/jira/browse/CASSANDRA-11806。該錯誤很快就以重複的方式關閉。它似乎不是重複的,因爲原始情況是就地升級節點,而不是使用sstableloader加載數據。如何將Cassandra 2.1.9的數據遷移到新的3.5安裝
即便如此,我嘗試應用給出的建議來運行upgradesstable
[原文如此]。
從一個Cassandra版本升級到另一個版本的指示看起來似乎很粗略。下面是基於什麼我做我的工作備份/恢復和信息從如何升級各種卡桑德拉文檔囊括:
- 快照從PROD數據(卡桑德拉2.1.9),像往常一樣
- 將數據恢復到卡桑德拉2.1.14我的工作站上運行
- 驗證恢復到2.1.14(它的工作)
- 將數據複製/數據/ makeyourcase成卡桑德拉3.5安裝
- 火起來卡桑德拉3.5
- 運行
nodetool upgradesstables
到升級sstables到3.5
nodetool upgradesstables
失敗:
>./bin/nodetool upgradesstables
error: Unknown column role in table makeyourcase.roles
-- StackTrace --
java.lang.AssertionError: Unknown column role in table makeyourcase.roles
所以,問題:是否有可能直接從2.1.x的升級到3.5?什麼是實際的升級過程? http://docs.datastax.com/en/latest-upgrade/upgrade/cassandra/upgradeCassandraDetails.html的過程似乎缺少重要細節。
您是否還複製了系統密鑰空間目錄或僅複製了您的密鑰空間數據? – mmatloka
@mmatloka只是我的密鑰空間數據。 –
Cassandra保留系統密鑰空間有關表模式的信息。嘗試使用完全相同的完整數據目錄(或在移動數據之前創建模式,但將其移至創建模式時創建的新創建的目錄中)。 – mmatloka