当前位置: 首页 > 知识库问答 >
问题:

Cassandra备份和恢复-删除表/模式更改

南门展
2023-03-14

我正在为我们的cassandra系统制定cassandra备份和恢复策略,并试图了解cassandra中的备份和稳定恢复是如何工作的。以下是我的观察和相关问题(我的需求是建立一个备用/备份集群,如果主集群关闭,它将成为活动的..所以我想让它们在数据方面保持同步,所以我想在我的活动集群上进行定期备份,并恢复到备用集群)

  1. 已进行快照备份。在卡桑德拉放下了一张桌子。停止了卡桑德拉,从快照备份中恢复(将表格复制到数据/文件夹),启动了卡桑德拉。在节点上运行 cqlsh,但我仍然看不到创建的表。这应该有效吗?我错过了任何步骤吗?
  2. 在上面的场景中,我尝试使用 cql 逗号源 重新设置架构(我在快照中备份架构)。这为我创建了表格。但是,它为我创建了一个表的“新版本”。当我恢复快照时,具有较旧的版本(表的不同uuid标记文件夹)。恢复后,我仍然在表中看不到任何数据。可能是因为我创建了一个新表?

在运行 nodetool 修复并使用 sstableloader 从群集中的另一个节点还原表数据后,我终于能够恢复数据。我的问题是
a. 从快照设置新的(空白 - 无模式)集群的正确方法是什么?如何设置架构并恢复数据?

b、 如何从具有表更改的备份中恢复群集。从备份(快照或增量)中恢复时,如何将运行旧版本架构的群集迁移到新版本架构?

(注:这里是卡桑德拉新手)

共有1个答案

咸承教
2023-03-14

因此,如果您想要恢复快照,您需要将快照文件复制回sstable目录,然后运行:nodetool refresh。您可以阅读:< code > https://docs . datas tax . com/en/DSE/5.1/DSE-admin/datas tax _ enterprise/operations/opsbackupsnapshotrestore . html

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

希望这有帮助吗?

吉姆

 类似资料:
  • 这小节我们要讨论应用程序管理的另一个方面:生产服务器上数据的备份和恢复。我们经常会遇到生产服务器的网络断了、硬盘坏了、操作系统崩溃、或者数据库不可用了等各种异常情况,所以维护人员需要对生产服务器上的应用和数据做好异地灾备,冷备热备的准备。在接下来的介绍中,讲解了如何备份应用、如何备份/恢复Mysql数据库和redis数据库。 应用备份 在大多数集群环境下,Web应用程序基本不需要备份,因为这个其实

  • 主要内容:数据备份,恢复数据本节我们来介绍一下 MongoDB 中如何对数据进行备份与恢复。 数据备份 在 MongoDB 中我们可以使用 mongodump 命令来对 MongoDB 进行数据备份,该命令可以导出所有数据到指定目录中,也可以通过参数将导出数据转存的服务器。其语法格式如下: mongodump -h dbhost -d dbname -o dbdirectory 参数说明如下: -h:MongDB 所在服务器

  • 不要忘记你的密码并备份你的密码 数据目录 一切geth持续保存的内容都被写入其数据目录(除了PoW Ethash DAG,见下面的注释)。默认的数据目录位置在不同平台是特定的: 苹果电脑: ~/Library/Ethereum Linux: ~/.ethereum Windows: %APPDATA%/Ethereum 帐户存储在keystore子目录中。该目录的内容应该可以在节点,平台,实现(C

  • 我对两种类型的备份技术感兴趣: a)模式备份,它恢复数据库模式(添加或删除列、改变列类型、添加表等) b)数据备份,用于恢复数据(更新,从一个表读取到另一个表)。 我来举例说明一下: 首先,我创建实体“客户” ...而不是预期的... 如何获取预期的第一张快照? 更新1 相关问题: 在cassandra中导入和导出架构 如何恢复Cassandra快照

  • GitLab允许您恢复存储库的备份副本。 在本章中,我们将讨论如何恢复GitLab中的备份副本: 步骤(1): 首先,使用SSH(Secure Shell)登录到您的GitLab服务器。 步骤(2): 在恢复备份副本之前,首先确保备份副本位于目录中。 步骤(3): 您可以使用创建备份作业章节中介绍的命令来检查备份副本。 步骤(4): 现在,使用以下命令停止与数据库相关的进程: 通过关闭它们,上述命

  • 查看MySQL的备份数据 (重要) egrep -v "#|\/|^$|--" /mnt/database_bak.sql MySQL查看bin-log日志的方法 mysqlbinlog mysql-bin.000001 拆分总的binlog为指定库的增删改操作(恢复指定库的binlog时使用) mysqlbinlog -d test mysql-bin.000001 基于位置点的增量恢复 指定开