Cassandra 全局快照

Posted

技术标签:

【中文标题】Cassandra 全局快照【英文标题】:Cassandra global snapshot 【发布时间】:2021-05-27 18:51:03 【问题描述】:

我正在运行一个具有 3 个节点(EC2 实例)且复制因子 = 2 的集群。我从第一个节点执行一个脚本,该脚本使用 pssh (parallel-ssh) 实用程序在所有节点上运行 nodetool 快照。但是每个节点的快照数据都存储在该节点本身上。有没有办法我们可以将所有节点的快照数据获取到我运行脚本的节点,以便我的脚本可以轻松地将数据从一个地方复制到 S3?

另外, 假设我有一个 5 节点集群,并且每个节点都有快照。现在我想将此数据还原到具有不同复制因子的 10 节点集群和 2 节点集群。下面的过程对还原是否正确?

    从所有 5 个节点复制快照数据并将所有文件合并到一个文件夹中。

    运行 sstableloader 命令传递所有 IP 地址(数量为 10 或 2)和单个文件夹位置。这会在恢复后正确地将数据从 5 个节点拆分为 10 个或 2 个节点吗?

【问题讨论】:

【参考方案1】:

我强烈建议使用Medusa tool (doc) 来备份和恢复您的 Cassandra 集群 - 它能够将数据备份到云存储,并且您可以将数据恢复到集群,即使使用不同的拓扑.

【讨论】:

以上是关于Cassandra 全局快照的主要内容,如果未能解决你的问题,请参考以下文章

如果在 cassandra.yaml 中启用了 auto_snapshot,那么这些快照啥时候会被删除

如何在不创建快照的情况下从 cassandra 表中删除所有记录

我们如何使用其快照文件将cassandra表导出为csv格式

使用 Cassandra 评估最小存储磁盘大小

如何处理磁盘上 Cassandra 中的空目录?

sstableloader 远程批量上传