【发布时间】:2017-01-24 20:15:31
【问题描述】:
有人知道如何在 Cassandra 3.9 中恢复数据吗?从 Cassandra 2.1.15 中拍摄的快照(在我升级 Cassandra 之前)?
只是将快照文件复制到正确的数据目录并执行“nodetool refresh”是行不通的。
【问题讨论】:
有人知道如何在 Cassandra 3.9 中恢复数据吗?从 Cassandra 2.1.15 中拍摄的快照(在我升级 Cassandra 之前)?
只是将快照文件复制到正确的数据目录并执行“nodetool refresh”是行不通的。
【问题讨论】:
Cassandra 使用 sstables 将数据保存到文件中。这些 sstables 有一个版本。
卡桑德拉2.1.15 supports sstable versions: 贾(2.0.0), jb (2.0.1), 卡(2.1.0):
卡桑德拉3.9 supports sstable versions: jb (2.0.1), 卡(2.1.0), 拉(2.2.0), 磅(2.2.7), 马(3.0.0), mb (3.0.7, 3.7), mc (3.0.8, 3.9)
upgrading cassandra 时,必须使用 'nodetool upgradesstable' 将 sstable 格式版本升级到升级 cassandra 前后可用的最新版本。
我认为您的 sstable 版本为 ja (2.0.0),cassandra 3.9 不支持。
【讨论】:
尝试运行 nodetool upgradesstables。
否则,您可以将 3.9 集群降级到支持您的版本 sstbales 版本的版本,然后再将其升级回来。
最安全的选择 - 创建一个带有 2.1 快照的侧 2.1 集群,然后升级它,直到您获得所需版本的 sstables、拍摄快照、恢复到您的 3.9 集群。
【讨论】: