Cassandra 意外截断后,应使用哪个快照恢复数据?
使用Cassandra 意外截断后,应使用哪个快照恢复数据?,cassandra,backup,restore,Cassandra,Backup,Restore,使用TRUNCATE命令意外删除了生产数据库中的数据,我不知道该如何恢复它。我已经阅读了有关自动快照的内容,幸运的是,此选项处于启用状态。我们在snapshots文件夹中有一堆快照(如下所列),我们不知道应该使用它们中的哪一个来恢复数据 root@server:/raid0/cassandra/data/raw_data_keyspace/raw_buy_hits-d5e2fc5005f411e5bc39c93f22adf770/snapshots# du 44 ./143929690
TRUNCATE
命令意外删除了生产数据库中的数据,我不知道该如何恢复它。我已经阅读了有关自动快照的内容,幸运的是,此选项处于启用状态。我们在snapshots
文件夹中有一堆快照(如下所列),我们不知道应该使用它们中的哪一个来恢复数据
root@server:/raid0/cassandra/data/raw_data_keyspace/raw_buy_hits-d5e2fc5005f411e5bc39c93f22adf770/snapshots# du
44 ./1439296902349-raw_buy_hits
44 ./1439296723590-raw_buy_hits
48 ./1439296608175-raw_buy_hits
171964 ./1439296089074-raw_buy_hits
171032 ./1439203561681
44 ./1439296856042-raw_buy_hits
44 ./1439296234966-raw_buy_hits
343224 .
当我读卡桑德拉的文件时,我没有发现有人提到这个问题
我们应该使用哪种快照?是其中一个快照,还是我们使用所有快照来恢复丢失的所有数据?您需要使用最新的快照(或者如果在截断之后有其他快照,则使用截断之前的最新快照) Cassandra在创建快照时使用硬链接,这就是为什么这些快照的大小如此不同的原因。务必获取每个快照的大小必须为每个快照运行单独的
du
命令,这样才能查看快照时的大小
因此,不要仅依靠
du
按日期列出目录(ls-ltr
),而是选择要恢复的快照,然后使用du
命令验证它是否为您期望的大小。您需要使用最新的快照(如果在截断之后还有其他快照,则为截断之前的最新快照)
Cassandra在创建快照时使用硬链接,这就是为什么这些快照的大小如此不同。请务必获取每个快照的大小,您必须为每个快照运行单独的du
命令,这样您就可以看到快照时的大小
因此,不要仅依靠du
按日期列出目录(ls-ltr
),而是选择要恢复的快照,然后使用du
命令验证它是否为您期望的大小