You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Cassandra快照恢复至新集群?多表Keyspace跨服务器恢复方法

Cassandra 快照恢复至新服务器/新集群操作指南

前提条件

  • 已通过nodetool snapshot完成原集群中XYZ keyspace的快照备份,快照文件完整可用
  • 新环境(服务器/集群)的Cassandra版本与原集群完全一致,避免数据格式不兼容

一、恢复至单台新服务器

  1. 初始化新服务器环境
    • 安装对应版本的Cassandra,配置cassandra.yaml(如数据目录data_file_directories、集群名称等),启动Cassandra服务。
  2. 创建匹配的Keyspace与表结构
    • 用cqlsh连接新服务器,创建与原集群结构完全一致的XYZ keyspace(单节点场景建议使用SimpleStrategy,副本数设为1),并创建所有100张表的结构(可从原集群导出CQL语句:cqlsh -e "DESCRIBE KEYSPACE xyz;" > xks_schema.cql,再在新服务器执行该文件)。
  3. 复制快照文件到对应目录
    • 原集群中,每个表的快照路径为:/var/lib/cassandra/data/xyz/<table_name>-<uuid>/snapshots/<your_snapshot_name>/
    • 将每个表快照目录下的所有文件(*.db、*.txt、*.stats等),复制到新服务器对应表的数据目录:/var/lib/cassandra/data/xyz/<table_name>-<new_uuid>/
    • 修改文件权限为Cassandra用户所有:chown -R cassandra:cassandra /var/lib/cassandra/data/xyz/
  4. 刷新表数据
    • 在新服务器执行:nodetool refresh xyz(一次性刷新整个keyspace的所有表),或逐个表刷新:nodetool refresh xyz <table_name>
  5. 验证恢复结果
    • 用cqlsh执行查询语句,确认各表数据完整。

二、恢复至新集群

  1. 初始化新集群环境
    • 完成新集群的节点部署、配置(确保集群名称与原集群一致,或按需修改),启动所有节点并确认集群状态正常(nodetool status显示所有节点为UN状态)。
  2. 创建匹配的Keyspace与表结构
    • 在集群任意节点用cqlsh创建XYZ keyspace,复制策略与副本数需适配新集群拓扑(如3节点集群用SimpleStrategy,副本数设为3;多数据中心场景用NetworkTopologyStrategy),并创建所有表的结构(同单服务器步骤,导出原集群schema后执行)。
  3. 分布式复制快照文件
    • Cassandra数据按token范围分布,需将原集群每个节点上的快照数据,复制到新集群中对应token范围的节点:
      • 用nodetool status分别查看原集群与新集群的节点token范围,匹配对应关系
      • 将原节点上属于某token范围的XYZ keyspace表快照,复制到新集群对应token节点的表数据目录下
      • 若不确定token对应关系,可将所有表的快照文件复制到新集群的所有节点(效率略低,但操作简单)
    • 复制完成后修改文件权限:chown -R cassandra:cassandra /var/lib/cassandra/data/xyz/
  4. 刷新集群所有节点的数据
    • 在新集群的每个节点上执行:nodetool refresh xyz
  5. 修复集群数据一致性
    • 执行全量修复确保数据在集群节点间同步:nodetool repair -full xyz
  6. 验证恢复结果
    • 在集群多个节点用cqlsh查询数据,确认各节点数据一致且完整。

关键注意事项

  • 版本一致性:原集群与新环境的Cassandra大版本、小版本必须完全匹配,否则会因数据格式差异导致恢复失败
  • Schema一致性:新环境的Keyspace与表结构(包括列类型、主键、索引、TTL设置等)必须与原集群完全一致
  • 快照完整性:确保原快照是在集群稳定状态下创建的,建议创建快照前先执行nodetool flush将内存数据刷入磁盘
  • 权限问题:复制文件后务必修改权限为Cassandra用户所有,否则进程无法读取数据

内容的提问来源于stack exchange,提问作者Akshay Roy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 16:45:11