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

如何在无数据丢失的情况下移除SingleStore数据库的一个Leaf节点

移除SingleStore单个Leaf节点(无数据丢失)

前提条件

  • 保留的Leaf节点需有足够磁盘空间容纳所有数据(需至少1TB可用空间,覆盖原两个节点的总数据量)
  • 操作建议在业务低峰期进行,避免影响在线业务

步骤1:确认集群与节点状态

  • 执行SHOW LEAVES;查看两个Leaf节点的状态,确保均为Online,记录待移除节点的host和port信息。
  • 执行SHOW PARTITIONS;确认数据分布,此时所有分区应在两个Leaf节点各有1个副本(双副本配置)。

步骤2:迁移待移除节点的所有数据副本

由于要从双节点集群转为单节点,需将待移除节点上的所有分区副本迁移至保留节点,并将副本数调整为1:

  • 执行命令:ALTER DATABASE <你的数据库名> REDUCE REPLICATION TO 1;
  • 等待迁移完成,可通过SHOW PARTITIONS EXTENDED;查看进度,直到所有分区的Replicas列显示为1,且所有副本均位于保留的Leaf节点。

步骤3:标记待移除节点为脱机状态

  • 执行ALTER LEAF '<待移除节点host>:<port>' SET OFFLINE;,阻止新的读写请求指向该节点。
  • 再次执行SHOW LEAVES;确认该节点状态变为Offline。

步骤4:从集群中移除Leaf节点

  • 执行DROP LEAF '<待移除节点host>:<port>';,彻底将节点从集群中移除。
  • 执行SHOW LEAVES;验证集群仅剩目标保留的Leaf节点。

步骤5:验证数据完整性

  • 对所有业务表执行CHECK TABLE <表名>;,检查数据完整性。
  • 通过查询(如SELECT COUNT(*) FROM <表名>;)对比操作前后的数据量,确认无数据丢失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 10:07:11