首页 文章

如何将数据从Cassandra 2.1.9迁移到全新的3.5安装

提问于
浏览
0

我试图使用sstableloader将数据加载到Cassandra 3.5中 . 在Cassandra 2.1.9下使用 nodetool snapshot 捕获数据 . 所有表格加载都很好,除了一个 . 它很小,只有2列20行 . 所以,我输入了这个bug:https://issues.apache.org/jira/browse/CASSANDRA-11806 . 这个bug很快被关闭了 . 它似乎并不重复,因为最初的情况是就地升级节点,而不是使用sstableloader加载数据 .

即便如此,我还是尝试应用给出的建议来运行 upgradesstable [原文如此] .

从一个版本的Cassandra升级到另一个版本的指示似乎是最粗略的 . 以下是我根据工作备份/恢复所做的工作以及各种Cassandra文档中有关如何升级的信息:

  • 像往常一样从prod(Cassandra 2.1.9)快照数据

  • 将数据恢复到在我的工作站上运行的Cassandra 2.1.14

  • 验证恢复到2.1.14(它有效)

  • 将data / data / makeyourcase复制到Cassandra 3.5安装中

  • 点燃Cassandra 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的过程似乎缺少重要的细节 .

1 回答

  • 0

    事实证明,随着时间的推移,表的状态发生了变化 .

    由于表很小,我可以使用COPY将数据导出为CSV然后将其导入新版本来迁移数据 .

    请查看https://issues.apache.org/jira/browse/CASSANDRA-11806,以了解另一种解决方法和即将发生的错误修复 .

相关问题