首页/数据/NoSQL 速查/system.replicas 副本健康检查
ClickHouse56 条

system.replicas 副本健康检查

system.replicas 显示每个副本表的只读状态、任务队列、延迟与活跃副本数:is_readonly 或 queue_size 持续升高意味着副本同步出了问题。

NoSQL 速查数据更新于 2026-10-13

system.replicas 看什么

system.replicas 展示每个副本表的同步状态:是否只读、复制队列长度、延迟、活跃与总副本数。它是判断副本是否跟得上的第一站:is_readonly 为 1 或 queue_size 持续升高,说明同步出了问题,需要先排查协调服务与磁盘。

基本信息

关键列is_readonly、is_session_expired、queue_size、absolute_delay、active_replicas、total_replicas
异常信号is_readonly = 1、absolute_delay 持续增大、active_replicas 小于 total_replicas
处理手段SYSTEM RESTART REPLICA 重启副本、SYSTEM SYNC REPLICA 等待同步、检查协调服务与磁盘
适用引擎ReplicatedMergeTree 家族的副本表
配套查看复制队列细节用 system.replication_queue,协调服务状态用对应的系统表

典型使用场景

  • 巡检副本健康:确认没有节点处于只读状态
  • 排查写入失败:逐项排除副本只读的原因
  • 判断是否需要人工同步:用 SYSTEM SYNC REPLICA 等落后副本追上
  • 定位延迟来源:看复制队列里堆积的是哪类任务
  • 扩容副本或修复数据后确认状态恢复正常

巡检与处理

巡检与处理
-- 一次筛出所有异常副本
SELECT database, table, is_readonly, queue_size, absolute_delay,
       active_replicas, total_replicas
FROM system.replicas
WHERE is_readonly OR absolute_delay > 10 OR active_replicas < total_replicas;

-- 查看复制队列里堆积了哪些任务
SELECT database, table, type, create_time, num_tries, last_exception
FROM system.replication_queue
ORDER BY create_time LIMIT 20;

-- 修复后等待某个表完成同步
SYSTEM SYNC REPLICA db.table;

-- 副本元数据异常时重启副本
SYSTEM RESTART REPLICA db.table;

关键列读法

列含义正常 / 异常
is_readonly副本是否处于只读为 1 时写入会被直接拒绝
is_session_expired与协调服务的会话是否失效为 1 说明连接协调服务异常
queue_size待执行的复制任务数持续增长说明同步跟不上
absolute_delay拉到队列头部任务的时间差瞬时波动正常,持续增大才是问题
active_replicas / total_replicas活跃与总副本数前者小于后者说明有副本掉队
副本只读的常见原因有三类:协调服务不可用、磁盘写满或超出配额、复制队列积压。修复原因后只读状态通常会自行恢复,不需要手工改设置。
absolute_delay 反映的是拉到队列头部任务的时间差,瞬时抖动属于正常现象,判断要看趋势与持续时间;queue_size 长期不降才是真正需要介入的信号。

易错点

  • 把 absolute_delay 的瞬时波动当成故障:它受任务调度影响,需要结合趋势与 queue_size 一起判断
  • 出现问题就直接删副本元数据,风险远大于收益;应先确认数据完整,再用 SYSTEM RESTART REPLICA 或 SYNC REPLICA 处理
  • 副本只读时反复重试写入却不排查根因,磁盘满或有问题 part 不解决,写入永远不会恢复
  • 只看单个节点的状态而忽略 active_replicas 与 total_replicas 的对比,副本数量不足导致冗余失效却不易察觉

数据来源与参考

  • ClickHouse Docs: system.replicas
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌