Cassandra备份和恢复-删除表/schema alter

Cassandra备份和恢复-删除表/schema alter,cassandra,cassandra-3.0,Cassandra,Cassandra 3.0,我正在为我们的cassandra系统制定cassandra备份和恢复策略,并试图了解备份和sstable恢复在cassandra中是如何工作的。以下是我的观察结果和相关问题(我需要设置一个备用/备份群集,如果主群集发生故障,该群集将变为活动群集。因此,我希望使它们在数据方面保持同步,因此我希望在活动群集上进行定期备份,并恢复到备用群集) 进行了快照备份。在卡桑德拉丢了一张桌子。停止cassandra,从快照备份中恢复(将sstables复制到数据/文件夹),启动cassandra。在节点上运行了

我正在为我们的cassandra系统制定cassandra备份和恢复策略,并试图了解备份和sstable恢复在cassandra中是如何工作的。以下是我的观察结果和相关问题(我需要设置一个备用/备份群集,如果主群集发生故障,该群集将变为活动群集。因此,我希望使它们在数据方面保持同步,因此我希望在活动群集上进行定期备份,并恢复到备用群集)

  • 进行了快照备份。在卡桑德拉丢了一张桌子。停止cassandra,从快照备份中恢复(将sstables复制到数据/文件夹),启动cassandra。在节点上运行了cqlsh,但仍然没有看到创建的表。这样行吗?我是否遗漏了任何一步
  • 在上面的场景中,我尝试使用cql commant源重新设置模式(在快照中备份模式)。这为我创建了表格。然而,它为我创建了一个表的“新版本”。恢复快照时,快照具有较旧的版本(表的不同uuid标签文件夹)。恢复后,我仍然看不到表中的任何数据。可能是因为我创建了一个新表
  • 在运行
    nodetool repair
    并使用
    sstableloader
    从集群中的另一个节点恢复表数据后,我终于能够恢复数据。 我的问题是
    A.从快照设置新(空白-无架构)集群的正确方法是什么?如何设置模式和恢复数据

    b。如何通过表更改从备份中恢复群集。从备份(快照或增量备份)恢复时,如何将运行旧版本架构的群集转换为新版本架构


    (注意:这里是cassandra newbie)

    因此,如果要恢复快照,需要将快照文件复制回sstable目录,然后运行:nodetool refresh。你可以阅读:
    https://docs.datastax.com/en/dse/5.1/dse-admin/datastax_enterprise/operations/opsBackupSnapshotRestore.html

    了解更多信息。此外,还有第三方工具可以备份您的数据,然后将其恢复为备份时的状态。我们使用一个工具:Coheresis(正式称为Talena/Imanis)。它有很多功能(将a刷新为B、恢复/重命名等)。还有其他流行的。所有这些都有与之相关的成本

    希望能有帮助


    -Jim

    我尝试按照datastax中解释的步骤进行操作,这些步骤清楚地表明“确保表架构存在并且与创建快照时相同”。但是,如果表/模式被更改了呢?如何从这样的快照恢复?我想这意味着我需要重新创建模式/表。当我这样做时,它会创建表(与快照中的表id不同)。。。从快照恢复后,数据不会显示。。。即使在节点上重新启动cassandra服务。我遗漏了什么吗?@namitya你一定有相同的模式。如果您需要更改模式-应该通过创建原始模式、加载数据、执行模式迁移来完成