GBase 8a 数据库集群,从V95开始,可以通过SQL查询系统元数据表来获得集群各个服务的状态,每个节点的内存,磁盘使用情况等。
目录导航
元数据表
都在information_schema库下。
其中状态类:0=不可用(不包含此服务),1=正常,2=异常;
数据类,0=不可用(不包含此服务,或者服务进程异常,需要根据状态类区分),其它是实际占用的值(单位G,有2位小数)。
当gcluster和gnode在相同主机的目录下时,其磁盘使用量是相同的。
cluster_monit_info 集群所有节点
字段名称 | 字段类型 | 说明 |
HOST | varchar(256) | 服务器IP |
GCWARE_STATE | varchar(24) | GCWARE服务状态,1:OPEN, 2:CLOSE, 0:本节点不含GCWARE服务 |
GCLUSTER_STATE | varchar(24) | GCLUSTER服务状态,1:OPEN, 2:CLOSE, 0:本节点不含GCLUSTER服务 |
GNODE_STATE | varchar(24) | GNODE服务状态,1:OPEN, 2:CLOSE, 0:本节点不含GNODE服务 |
SYNCSERVER_STATE | varchar(24) | SYNCSERVER服务状态,1:OPEN, 2:CLOSE, 0:本节点不含SYNCSERVER服务 |
COORSERVER_DATA_STATUS | varchar(24) | coordinator节点的DataState状态,1:正常,2:异常, 0:本节点不是coordinator节点 |
DATASERVER_DATA_STATUS | varchar(24) | node节点的DataState状态,1:正常,2:异常, 0:本节点不是node节点 |
GCLUSTER_VMSIZE | varchar(24) | gclusterd进程使用的虚拟内存大小(GB), 0:本节点不含gclusterd进程 |
GCLUSTER_VMRSS | varchar(24) | gclusterd进程使用的物理内存大小(GB), 0:本节点不含gclusterd进程 |
GCLUSTER_DISK_AVAIL_PERCENT | varchar(24) | $GCLUSTER_HOME/userdata/gcluster目录对应挂载磁盘的可用空间百分比, 0:本节点不含gclusterd进程 |
GCLUSTER_DISK_AVAIL_SIZE | varchar(24) | $GCLUSTER_HOME/userdata/gcluster目录对应挂载磁盘的可用剩余空间(GB), 0:本节点不含gclusterd进程 |
GNODE_VMSIZE | varchar(24) | gbased进程使用的虚拟内存大小(GB), 0:本节点不含gbased进程 |
GNODE_VMRSS | varchar(24) | gnode进程使用的物理内存大小(GB), 0:本节点不含gbased进程 |
GNODE_DISK_AVAIL_PERCENT | varchar(24) | $GBASE_HOME/userdata/gbase目录对应挂载磁盘的可用空间百分比, 0:本节点不含gbased进程 |
GNODE_DISK_AVAIL_SIZE | varchar(24) | $GBASE_HOME/userdata/gbase目录对应挂载磁盘的可用剩余空间(GB), 0:本节点不含gbased进程 |
CLUSTER_STATUS | varchar(24) | 集群状态,1:ACTIVE |
CLUSTER_MODE | varchar(24) | 集群模式,1:NORMAL,2:READONLY, 3:RECOVERY |
monit_info 当前节点
字段名称 | 字段类型 | 说明 |
VMSIZE | varchar(24) | gclusterd或gbased进程使用的虚拟内存大小(GB) |
VMRSS | varchar(24) | Gclusterd或gbased进程使用的物理内存大小(GB) |
DISK_AVAIL_SIZE | varchar(24) | $GCLUSTER_HOME/userdata/gcluster或$GBASE_HOME/userdata/gbase目录对应挂载磁盘的剩余空间(GB) |
DISK_AVAIL_PERCENT | varchar(24) | $GCLUSTER_HOME/userdata/gcluster或$GBASE_HOME/userdata/gbase目录对应挂载磁盘的使用百分比 |
注意事项
由于该调用将访问gcware层,强行获得当前节点状态,所以会重新检查所有节点。在gcware刷新期间,不对外提供新的服务,新的请求将阻塞,直到gcware刷新完毕。
如果集群所有节点都正常,影响不大。但当部分节点繁忙,比如CPU,网络卡顿时,会导致节点返回时间边长,当主机OFFLINE,比如断电等,会需要等待timeout。
如果调用非常频繁,会影响现有业务执行,如果有节点离线,影响会放大。
建议频率最高每隔15分钟检查一次即可。
查询样例
[gbase@gbase_rh7_001 ~]$ gcadmin
CLUSTER STATE: ACTIVE
VIRTUAL CLUSTER MODE: NORMAL
================================================================
| GBASE COORDINATOR CLUSTER INFORMATION |
================================================================
| NodeName | IpAddress | gcware | gcluster | DataState |
----------------------------------------------------------------
| coordinator1 | gbase_rh7_001 | OPEN | OPEN | 0 |
----------------------------------------------------------------
=========================================================================================================
| GBASE DATA CLUSTER INFORMATION |
=========================================================================================================
| NodeName | IpAddress | DistributionId | gnode | syncserver | DataState |
---------------------------------------------------------------------------------------------------------
| node1 | gbase_rh7_001 | 2 | OPEN | OPEN | 0 |
---------------------------------------------------------------------------------------------------------
gbase> select * from cluster_monit_info\G
*************************** 1. row ***************************
HOST: gbase_rh7_001
GCWARE_STATE: 1
GCLUSTER_STATE: 1
GNODE_STATE: 1
SYNCSERVER_STATE: 1
COORSERVER_DATA_STATUS: 1
DATASERVER_DATA_STATUS: 1
GCLUSTER_VMSIZE: 1.69
GCLUSTER_VMRSS: 0.06
GCLUSTER_DISK_AVAIL_SIZE: 22.35
GCLUSTER_DISK_AVAIL_PERCENT: 80.00
GNODE_VMSIZE: 1.90
GNODE_VMRSS: 0.06
GNODE_DISK_AVAIL_SIZE: 22.35
GNODE_DISK_AVAIL_PERCENT: 80.00
CLUSTER_STATUS: 1
CLUSTER_MODE: 1
1 row in set (Elapsed: 00:00:00.83)
gbase> select * from monit_info\G
*************************** 1. row ***************************
VMSIZE: 1.71
VMRSS: 0.07
DISK_AVAIL_SIZE: 22.35
DISK_AVAIL_PERCENT: 80.00
1 row in set (Elapsed: 00:00:00.00)