节点状态查看,节点状态查看主要查看的是各节点的模组进程状态和数据一致性。
Coordinator 节点有:gcware 和 gclusterd 模组。
Gnode 节点有:gnode(gbase)和 syncserver 模组。
模组进程的状态有三种:OPEN / OFFLINE / CLOSE
Open 状态:模组工作状态正常。
OFFLINE 状态:模组进程下线,一般为硬件故障,可排查设备是否突然断电或断网等。
CLOSE 状态:模组进程启动失败或意外关闭等。常见原因如:端口被占用,配置文件权限和参数错误等。
各模组由 gcmonit 进行监控,当 gcmonit 发现某个模组意外 down 掉,会主动尝试拉起。若无法拉起则需要管理员通过查看日志进行故障诊断并修复。
gcmonit 监控的模组进程包括:
gcluster、gcware、gcrecover、gcmmonit、gbase、syncserver
gcmmonit 负责监测 gcmonit 程序的运行状况。当 gcmonit意外 down掉,gcmmonit 负责拉起 gcmonit。
gcmonit 同样也监测 gcmmonit,它们互为保障。
DataState 是数据一致性状态指标:
0:数据一致性正常
1:数据不一致
出现数据不一致,可能是由于执行 DDL、DML、loader 失败或网络不稳定等原因导致,系统会根据发生原因记录 DDL fevent log、DML fevent log、DMLStorage fevent log,并尝试自动恢复。
DDLEVENT 日志是记录集群在执行 DDL 语句期间由于节点或进程故障导致的节点 DDL 执行信息不一致所产生的 event 信息。
DMLEVENT 日志是记录集群在执行 DML 语句期间由于节点或进程等问题引起的节点间主备分片不一致的信息。
STORAGEEVENT 日志记录同一分片的元数据和用户数据都损坏的情况。DDLEVENT 和 DMLEVENT 在一定条件下会转化为 STORAGEEVENT。
gcrecover 先恢复 DDL 操作,然后调用同步服务 gc_sync_server 恢复数据。恢复后,系统自动将 1 转换为 0。