问题描述
我正在运行一个具有 3 个节点(EC2 实例)且复制因子 = 2 的集群。我从第一个节点执行脚本,该脚本使用 pssh(并行 ssh)实用程序在所有节点上运行 nodetool 快照。但是每个节点的快照数据都存储在该节点本身上。有什么方法可以将所有节点的快照数据获取到我运行脚本的节点,以便我的脚本可以轻松地将数据从一个地方复制到 S3?
还有, 假设我有一个 5 个节点的集群,并且每个节点都有快照。现在我想将此数据还原到具有不同复制因子的 10 个节点集群和 2 个节点集群。以下过程是否适合还原?
解决方法
我强烈建议使用 Medusa tool (doc) 来备份和恢复您的 Cassandra 集群 - 它能够将数据备份到云存储,并且您可以将数据恢复到集群,即使采用不同的拓扑结构。