我尝试使用sstableloader将数据加载到Cassandra 3.5中。在Cassandra 2.1.9下使用nodetool snapshot
捕获数据。所有表格加载都很好,除了一个。它很小,只有2列20行。所以,我输入了这个错误:https://issues.apache.org/jira/browse/CASSANDRA-11806。这个bug很快被关闭了。它似乎并不重复,因为最初的情况是就地升级节点,而不是使用sstableloader加载数据。
即便如此,我还是尝试应用给出的建议upgradesstable
[原文如此]。
从Cassandra的一个版本升级到另一个版本的指示最多似乎是粗略的。以下是我根据工作备份/恢复所做的工作以及各种Cassandra文档中有关如何升级的信息:
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的过程似乎缺少重要细节。
答案 0 :(得分:0)
随着时间的推移,表格的状态发生了变化。
由于表格很小,我可以使用COPY将数据导出为CSV,然后将其导入新版本,从而迁移数据。
请查看https://issues.apache.org/jira/browse/CASSANDRA-11806,了解其他解决方法和即将发生的错误修复。