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

Cassandra 3.11.1主副本数据同步方案咨询

Cassandra 3.11.1副本节点全量同步主节点数据方案

针对生产集群中副本节点因提交日志错误导致3天数据缺失、与主节点不同步的问题,可通过全量bootstrap同步实现副本节点与主节点的数据完全一致,以下是具体操作步骤(服务器层面执行,逐个处理副本节点,避免同时操作影响集群可用性):

操作前提

  1. 确保主节点状态正常(nodetool status显示为UN),集群无其他故障
  2. 操作前备份副本节点的现有数据目录(如/var/lib/cassandra/data)和配置文件,避免操作失误导致数据丢失
  3. 选择业务低峰期执行,减少对生产服务的影响

单副本节点同步步骤

1. 停止副本节点Cassandra服务

根据系统服务管理方式执行:

# Systemd系统
sudo systemctl stop cassandra
# Init.d系统
sudo service cassandra stop

2. 清理副本节点的旧数据与日志

删除副本节点的业务数据、提交日志和缓存文件(注意保留配置文件目录):

# 删除数据目录(路径根据实际安装调整)
sudo rm -rf /var/lib/cassandra/data/*
# 删除提交日志
sudo rm -rf /var/lib/cassandra/commitlog/*
# 删除缓存文件
sudo rm -rf /var/lib/cassandra/saved_caches/*

3. 确认bootstrap配置

编辑副本节点的cassandra.yaml配置文件,确保自动bootstrap功能开启:

auto_bootstrap: true

同时确认seed_provider配置正确指向集群的seed节点(包含主节点)。

4. 启动副本节点并监控同步进度

启动服务:

# Systemd系统
sudo systemctl start cassandra
# Init.d系统
sudo service cassandra start

通过以下命令监控同步状态:

  • nodetool status:查看节点状态,同步过程中会显示UJ(Joining),完成后恢复为UN
  • nodetool netstats:查看数据流(streaming)的进度和状态

5. 验证同步结果

同步完成后:

  • 执行全量repair确保数据一致性(可选,针对单个键空间):
    nodetool repair -full your_keyspace_name
    
  • 查询副本节点的目标表,对比主节点数据,确认缺失的3天数据已同步
  • 检查副本节点的system.log,确保无提交日志相关错误

多副本节点处理

重复上述步骤逐个处理第二个副本节点,禁止同时操作两个副本节点,避免集群副本数不足影响业务读写的quorum校验。

关键说明

  • 所有操作均在副本节点本地服务器执行,主节点仅需保持正常运行即可
  • Bootstrap过程是从集群中其他正常节点(包括主节点)全量拉取数据,能确保副本节点获得主节点的完整数据集
  • 若集群数据量较大,同步时间会相应延长,需提前规划操作窗口

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 17:52:18