文档中心
v3.4

SequoiaDB 简介

安装部署

数据库实例

分布式引擎

SAC 管控中心

参考手册

常见问题及解答(FAQ)

版本信息

节点健康检测快照

节点健康检测快照可以列出数据库中所有节点的健康信息。

标识

SDB_SNAP_HEALTH

字段信息

字段名 类型 描述
NodeName string 节点名,格式为<主机名>:<服务名>
IsPrimary boolean 是否主节点
ServiceStatus boolean 是否为可提供服务状态
一些特殊状态,例如全量同步时,服务状态为 false
Status string 节点状态,取值如下:
"Normal":正常工作状态
"Shutdown":正在关闭状态,表示节点正在被关闭
"Rebuilding":重新构建状态,如节点异常重启后,无法与其他节点进行数据同步,则节点会进入该状态,重新构建数据
"FullSync":全量同步状态
"OfflineBackup":数据备份状态
BeginLSN.Offset int64 节点同步日志的起始 LSN
BeginLSN.Version int32 版本号(内部使用)
CurrentLSN.Offset int64 节点同步日志的当前 LSN
该字段可用于查看同步日志的结束位置
CurrentLSN.Version int32 版本号(内部使用)
CommittedLSN.Offset int64 已刷盘的同步日志对应的 LSN
该字段可用于查看节点数据的刷盘进度
CommittedLSN.Version int32 版本号(内部使用)
CompleteLSN int64 备节点已重放记录对应的 LSN
LSNQueSize int32 等待同步的 LSN 队列长度
NodeID array 节点的 ID 信息,格式为[<分区组 ID>, <节点 ID>]
在 standalone 模式下,该字段为[0, 0]
DataStatus string 数据状态,取值如下:
"Normal":正常状态
"Repairing":修复状态,当节点状态为"Rebuilding"或"FullSync"时,数据状态为"Repairing"
"Fault":错误状态,当节点异常启动,且节点状态不为"Rebuilding"或"FullSync"时,数据状态为"Fault"
SyncControl boolean 节点是否处于同步控制
Ulimit.CoreFileSize int64 节点进程的 core 文件大小限制,单位为字节,-1 表示 unlimited
Ulimit.VirtualMemory int64 节点进程的虚拟内存限制,单位为字节,-1 表示 unlimited
Ulimit.OpenFiles int64 节点进程的文件句柄数限制
Ulimit.NumProc int64 节点进程的线程数限制,-1 表示 unlimited
Ulimit.FileSize int64 节点进程的文件大小限制,单位为字节,-1 表示 unlimited
Ulimit.StackSize int64 节点进程的栈空间大小限制,单位为字节,-1 表示 unlimited
ResetTimestamp string 重置快照的时间
ErrNum.SDB_OOM int64 节点发生 SDB_OOM 错误的次数
ErrNum.SDB_NOSPC int64 节点发生 SDB_NOSPC 错误的次数
ErrNum.SDB_TOO_MANY_OPEN_FD int64 节点发生 SDB_TOO_MANY_OPEN_FD 错误的次数
Memory.LoadPercent int32 节点进程占用 RAM 的百分比
Memory.TotalRAM int64 节点所在操作系统的总 RAM 大小,单位为字节
Memory.RssSize int64 节点进程占用的 RAM 大小,单位为字节
Memory.LoadPercentVM int32 节点进程占用虚拟空间的百分比
Memory.VMLimit int64 节点进程虚拟空间限制,单位为字节
Memory.VMSize int64 节点进程占用的虚拟空间,单位为字节
Disk.Name string 节点路径所在的磁盘名称
Disk.LoadPercent int32 节点路径占用磁盘的百分比
Disk.TotalSpace int64 节点路径所在的磁盘空间大小,单位为字节
Disk.FreeSpace int64 节点路径所在的磁盘剩余空间大小,单位为字节
FileDesp.LoadPercent int32 节点进程占用的文件句柄的百分比
FileDesp.TotalNum int64 节点进程文件句柄限制
FileDesp.FreeNum int64 节点进程剩余的文件句柄个数
FTStatus string 容错状态,取值如下:
"NOSPC":磁盘空间不足
"DEADSYNC":节点数据不同步
"SLOWNODE":节点数据同步过慢
"TRANSERR":节点事务异常
StartHistory array 节点启动历史(只取最新的十条记录)
AbnormalHistory array 节点异常后启动历史(只取最新的十条记录)
DiffLSNWithPrimary int64 与主节点的 LSN 差异
该字段可用于检查主备节点的数据一致性

Note:

  • 协调节点的快照返回所有节点的信息,非协调节点返回自身节点的信息。
  • 备节点在计算与主节点的 LSN 差异时,所取的主节点 LSN 可能是两秒钟前的,因此 DiffLSNWithPrimary 可能与实际值存在一定偏差。(两秒是一个心跳间隔)

应用场景

查看快照信息

查看节点健康检测快照

> db.snapshot(SDB_SNAP_HEALTH)

输出结果如下:

{
  "NodeName": "sdbserver:11810",
  "IsPrimary": true,
  "ServiceStatus": true,
  "Status": "Normal",
  "FTStatus": "",
  "BeginLSN": {
    "Offset": -1,
    "Version": 0
  },
  "CurrentLSN": {
    "Offset": -1,
    "Version": 0
  },
  "CommittedLSN": {
    "Offset": -1,
    "Version": 0
  },
  "CompleteLSN": -1,
  "LSNQueSize": 0,
  "NodeID": [
    2,
    2
  ],
  "DataStatus": "Normal",
  "SyncControl": false,
  "Ulimit": {
    "CoreFileSize": 0,
    "VirtualMemory": -1,
    "OpenFiles": 60000,
    "NumProc": 15633,
    "FileSize": -1,
    "StackSize": 524288
  },
  "ResetTimestamp": "2021-03-29-15.47.59.191518",
  "ErrNum": {
    "SDB_OOM": 0,
    "SDB_NOSPC": 0,
    "SDB_TOO_MANY_OPEN_FD": 0
  },
  "Memory": {
    "LoadPercent": 3,
    "TotalRAM": 4142768128,
    "RssSize": 156041216,
    "LoadPercentVM": 100,
    "VMLimit": -1,
    "VMSize": 2048024576
  },
  "Disk": {
    "Name": "/dev/sdb1",
    "LoadPercent": 19,
    "TotalSpace": 211243687936,
    "FreeSpace": 169706725376
  },
  "FileDesp": {
    "LoadPercent": 0,
    "TotalNum": 60000,
    "FreeNum": 59954
  },
  "StartHistory": [
    "2021-03-29-15.47.59.200280"
  ],
  "AbnormalHistory": [],
  "DiffLSNWithPrimary": -1
}

检查主备节点的数据一致性

用户可通过查看字段 DiffLSNWithPrimary 的值,检查节点数据的一致性。如果该字段取值为 0,说明节点间数据一致。具体操作步骤如下:

> db.snapshot(SDB_SNAP_HEALTH, {}, {NodeName: null, IsPrimary: null, DiffLSNWithPrimary: null})

输出结果如下:

...
{
  "NodeName": "sdbserver1:11820",
  "IsPrimary": true,
  "DiffLSNWithPrimary": 0
}
{
  "NodeName": "sdbserver2:11820",
  "IsPrimary": false,
  "DiffLSNWithPrimary": 0
}
...
回到顶部