Cassandra 全局快照

问题描述

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

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

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

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

解决方法

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...