GBase 8a
运维管理
文章

GBase8a集群健康检查汇总

发表于2024-02-22 10:43:19241次浏览1个评论

1.1.集群版本号检查
gccli –u{Username} –p{password} -Ns -e"select version()"
说明:查看集群版本。
1.2.集群状态检查
集群工作状态
gcadmin | grep "CLUSTER STATE"
说明:ACTIVE说明集群工作状态正常,LOCKED为锁定状态。
集群mode:
# 多vc :
gcadmin showcluster vc {vcname}|grep "CLUSTER MODE"
# 兼容模式及v86:
gcadmin |grep "CLUSTER MODE"
说明:NORMAL说明集群模式正常,readonly为只读模式(扩容、替换节点时状态,只能进行SQL查询),recovery为恢复(数据恢复状态,不允许任何SQL操作)。
1.3.集群节点规模检查
# 多vc:
gcadmin showcluster vc {vcname}|grep 10.185|wc -l
# 兼容模式及v86:
gcadmin |grep 10.185|wc –l
说明:查看集群有多少个节点。
1.4.主机操作系统版本检查
# 国产化:
cat /etc/neokylin-release
# Intel:
cat /etc/redhat-release
说明:查看集群的操作系统版本信息。
1.5.主机 IP检查
# 多vc:
cexec {vcname}: " /usr/sbin/ifconfig|grep 10.185|grep inet"
# 兼容模式及v86:
cexec data: " /usr/sbin/ifconfig|grep 10.185|grep inet"
1.6.主机CPU 信息检查
查看CPU model name命令:
# Gcluster节点:
cexec coor: 'grep "model name" /proc/cpuinfo|uniq'
# Gnode节点兼容模式及v86:
cexec data: 'grep "model name" /proc/cpuinfo|uniq'
#Gnode节点多vc :
cexec {vcname}: 'grep "model name" /proc/cpuinfo|uniq'
查看CPU 逻辑核数命令:
# Gcluster节点:
cexec coor: ' grep "model name" /proc/cpuinfo|wc -l'
# Gnode节点兼容模式及v86:
cexec data: ' grep "model name" /proc/cpuinfo|wc -l'
# Gnode节点多vc :
cexec {vcname}: ' grep "model name" /proc/cpuinfo|wc -l'
查看CPU 物理核数命令:
# Gcluster节点:
cexec coor: ' cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l'
# Gnode节点兼容模式及v86:
cexec data: ' cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l'
# Gnode节点多vc :
cexec {vcname}: ' cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l'
1.7.主机物理内存检查
# Gcluster节点:
cexec coor: ' free -g|grep Mem'
# Gnode节点兼容模式及v86:
cexec data: ' free -g|grep Mem'
# Gnode节点多vc :
cexec {vcname}: ' free -g|grep Mem'
1.8.主机swap内存检查
# Gcluster节点:
cexec coor: ' free -g|grep Swap'
# Gnode节点兼容模式及v86:
cexec data: ' free -g|grep Swap'
# Gnode节点多vc :
cexec {vcname}: ' free -g|grep Swap'
1.9.集群空间之和(T)查看
# 兼容模式及v86:
cexec data: "df -h|grep opt|grep -v grep" |grep opt|awk '{print $2}'|cut -c 1-2 |awk '{sum+=$1} END {print sum}'
# 多vc :
cexec {vcname}: "df -h|grep opt|grep -v grep" |grep opt|awk '{print $2}'|cut -c 1-2 |awk '{sum+=$1} END {print sum}'
1.10.集群库的个数检查
查看命令:
# 兼容模式及v86:
gccli –u{Username} –p{Password} -Ns -e"show databases"|grep  -vE 'gbase|gclusterdb|gctmpdb|informatica_schema|performance_schema'|wc -l
# 多vc :
gccli –u{Username} –p{Password}  –D{vcname}. -Ns -e"show databases"|grep  -vE 'gbase|gclusterdb|gctmpdb|informatica_schema|performance_schema'|wc -l
1.11.集群视图的个数检查
# 兼容模式及v86:
gccli –u{Username} –p{Password}  -Ns -e"select count(*) from information_schema.views where table_schema not in ('gbase','gclusterdb','gctmpdb','informatica_schema','performance_schema')"
# 多vc :
gccli –u{Username} –p{Password}  –D{vcname}. -Ns -e"select count(*) from information_schema.views where table_schema not in ('gbase','gclusterdb','gctmpdb','informatica_schema','performance_schema')"
1.12.集群存储过程的个数检查
# 兼容模式及v86:
gccli –u{Username} –p{Password}  -Ns -e"select count(*) from gbase.proc where db not in ('gbase','gclusterdb','gctmpdb','informatica_schema','performance_schema') and  type='PROCEDURE'"
# 多vc:
gccli –u{Username} –p{Password} –D{vcname}. -Ns -e"select count(*) from gbase.proc where db not in ('gbase','gclusterdb','gctmpdb','informatica_schema','performance_schema') and  type='PROCEDURE'"

1.13.集群函数的个数检查
# 兼容模式及v86:
gccli –u{Username} –p{Password}  -Ns -e" select count(*) from gbase.proc where db not in ('gbase','gclusterdb','gctmpdb','informatica_schema','performance_schema') and type='FUNCTION'"
# 多vc:
gccli –u{Username} –p{Password} –D{vcname}. -Ns -e" select count(*) from gbase.proc where db not in ('gbase','gclusterdb','gctmpdb','informatica_schema','performance_schema') and type='FUNCTION'"
1.14.集群各节点Hostname检查
# 兼容模式及v86:
cexec data: "hostname"
# 多vc:
cexec {vcname}: "hostname"
1.15.集群各节点空间信息检查
管理节点
cexec coor: "df -h|grep opt|grep -v grep"
数据节点
# 兼容模式及v86:
cexec data: "df -h|grep opt|grep -v grep"
# 多vc:
cexec {vcname}: "df -h|grep opt|grep -v grep"
1.16.集群空间之和检查
管理节点
cexec coor: "df -h|grep opt|grep -v grep" |grep opt|awk '{print $2}'|cut -c 1-2 |awk '{sum+=$1} END {print sum}'
数据节点
# 兼容模式及v86:
cexec data: "df -h|grep opt|grep -v grep" |grep opt|awk '{print $2}'|cut -c 1-2 |awk '{sum+=$1} END {print sum}'
# 多vc:
cexec {vcname}: "df -h|grep opt|grep -v grep" |grep opt|awk '{print $2}'|cut -c 1-2 |awk '{sum+=$1} END {print sum}'
1.17.集群已使用空间之和检查
管理节点
cexec coor: "df -h|grep opt|grep -v grep"|grep % |awk '{print $3}'|awk -F'T' {'print $1'}|awk '{sum+=$1} END {print sum}'
数据节点
# 兼容模式及v86:
cexec data: "df -h|grep opt|grep -v grep"|grep % |awk '{print $3}'|awk -F'T' {'print $1'}|awk '{sum+=$1} END {print sum}'
# 多vc:
cexec {vcname}: "df -h|grep opt|grep -v grep"|grep % |awk '{print $3}'|awk -F'T' {'print $1'}|awk '{sum+=$1} END {print sum}'
1.18.集群剩余用空间之和检查
管理节点
cexec coor: "df -h|grep opt|grep -v grep"|grep % |awk '{print $4}'|awk -F'T' {'print $1'}|awk '{sum+=$1} END {print sum}'
数据节点
# 兼容模式及v86:
cexec data: "df -h|grep opt|grep -v grep"|grep % |awk '{print $4}'|awk -F'T' {'print $1'}|awk '{sum+=$1} END {print sum}'
# 多vc:
cexec {vcname}: "df -h|grep opt|grep -v grep"|grep % |awk '{print $4}'|awk -F'T' {'print $1'}|awk '{sum+=$1} END {print sum}'
说明:通过查看gnode节点各类空间之和,判断集群空间使用率是否超过80%;当超过80%时,观察是扩容还是暂时清理数据。或者查看是否有其他的大文件未清理导致使用空间减少
1.19.集群拓扑及状态检查
# 兼容模式及v86:
gcadmin
说明:gcware cluster组件的gcware信息为OPEN,说明集群组网正常,如果有CLOSE,说明该IP的gbase组网异常。Gcware cluster中正常的节点需要大于1/2,GBase集群才能对外提供服务。Coordinator cluster组件中的gcluster信息为OPEN,说明该管理节点可以对外提供服务,如果有CLOSE,说明该IP的管理服务进程异常或服务器异常。Coordinator cluster组件中的datastate信息为0,说明该管理节点的元数据是最新状态,如果有1,说明该IP的中的某些表的元数据需要通过异步同步进程进行同步。
# 多vc: 
gcadmin ; gcadmin showcluster vc {vcname}
说明:Gnode计算集群中VIRTUAL CLUSTER MODE状态为NORMAL,说明计算集群正常。Gnode计算集中gnode信息为OPEN,说明该节点可以提供计算服务和数据存储服务,如果为CLOSE,则说明该节点服务器异常或进程异常。Gnode计算集中syncserver信息为OPEN,说明该节点可以提供异步数据同步服务,如果为CLOSE,则说明该节点服务器异常或异步同步进程异常。Gnode计算集中datastate信息为0,说明该节点的数据为最新状态,如果为1,则说明该节点的某些表存在数据异常,需要通过异步同步程序恢复。
1.20.集群Event信息检查
# 兼容模式及v86:
gcadmin showddlevent
gcadmin showdmlevent
gcadmin showdmlstorageevent
# 多vc:
gcadmin showddlevent vc {vcname}
gcadmin showdmlevent vc {vcname}
gcadmin showdmlstorageevent vc {vcname}
1.21.集群Failover信息检查
# 兼容模式及v86:
gcadmin showfailover 
# 多vc:
gcadmin showfailover vc {vcname}
说明:显示故障倒换记录,当执行SQL的管理节点出现故障,无法正常完成SQL操作时,接管节点读取记录与gcware中的SQL执行信息继续执行。
1.22.集群进程状态检查
# 兼容模式及v86:
gcadmin showfailover 
# 多vc:
gcadmin showfailover vc {vcname}
说明:显示故障倒换记录,当执行SQL的管理节点出现故障,无法正常完成SQL操作时,接管节点读取记录与gcware中的SQL执行信息继续执行。
管理节点
cexec coor: "ps -ef|grep gclusterd|grep -v grep"
cexec coor: "ps -ef|grep gcrecover|grep -v grep"
cexec coor: "ps -ef|grep gcmmonit|grep -v grep"
cexec coor: "ps -ef|grep gcmonit|grep -v grep"
说明:GBase集群的管理节点主要检查gcware进程和gclusterd进程
数据节点
# 兼容模式及v86:
cexec data: "ps -ef|grep gbased|grep -v grep"
cexec data: "ps -ef|grep gc_sync_server|grep -v grep"
cexec data: "ps -ef|grep gcmonit|grep -v grep"
cexec data: "ps -ef|grep gcmmonit|grep -v grep"
# 多vc:
cexec {vcname}: "ps -ef|grep gbased|grep -v grep"
cexec {vcname}: "ps -ef|grep gc_sync_server|grep -v grep"
cexec {vcname}: "ps -ef|grep gcmonit|grep -v grep"
cexec {vcname}: "ps -ef|grep gcmmonit|grep -v grep"

1.23.集群日志情况检查
# V86版本:
cexec coor: " du -sh /opt/gcluster/log/gcluster/system.log"
cexec coor: " du -sh /opt/gcluster/log/gcluster/express.log"
cexec data: " du -sh /opt/gnode/log/gbase/system.log"
cexec data: " du -sh /opt/gnode/log/gnode/express.log"
cexec coor: "du -sh  /opt/gcluster/log/gcluster/loader_logs/"
cexec coor: "du -sh  /opt/gcluster/userdata/gcluster/*.dump"
cexec coor: "du -sh  /opt/gnode/userdata/gnode/*.dump"
# v953兼容版本:
cexec coor: " du -sh /opt/10.185.*/gcluster/log/gcluster/system.log"
cexec data: " du -sh /opt/10.185.*/gnode/log/gbase/system.log"
cexec coor: " du -sh /opt/10.185.*/gcluster/log/gcluster/express.log"
cexec data: " du -sh /opt/10.185.*/gnode/log/gbase/express.log"
cexec coor: "du -sh  /opt/10.185.*/gcluster/log/gcluster/loader_logs/"
cexec coor: "du -sh  /opt/10.185.*/gcluster/userdata/gcluster/*.dump"
cexec data: "du -sh  /opt/10.185.*/gnode/userdata/gbase/*.dump"
# 多vc版本:
cexec coor: " du -sh /opt/10.185.*/gcluster/log/gcluster/system.log"
cexec {vcname}: " du -sh /opt/10.185.*/gnode/log/gbase/system.log"
cexec coor: " du -sh /opt/10.185.*/gcluster/log/gcluster/express.log"
cexec {vcname}: " du -sh /opt/10.185.*/gnode/log/gbase/express.log"
cexec coor: "du -sh  /opt/10.185.*/gcluster/log/gcluster/loader_logs/"
cexec coor: "du -sh  /opt/10.185.*/gcluster/userdata/gcluster/*.dump"
cexec {vcname}: "du -sh  /opt/10.185.*/gnode/userdata/gbase/*.dump"
说明:通过以上命令查看集群的各种日志,查看是否存在日志文件过大,进入日志当前节点查看该日志是否有用而决定是否需要被清理。
1.24.数据库重要参数检查
gcluster层参数信息:
gcluster_load_rebalance_seed=1
skip_file_check=1
_gbase_cache_drop_unlock_cell_count =5000
_gbase_cache_drop_delay_time =2
_gbase_rep_receive_buffer_size =10240
_gbase_dc_window_size=1
_gbase_dc_sync_size=10485760
cexec coor: "grep –w {参数名} /opt/10.185.*/gcluster/config/gbase_8a_gcluster.cnf"
gnode层参数信息:
table_definition_cache=2048
_gbase_cache_drop_unlock_cell_count=5000
_gbase_cache_drop_delay_time=2
_gbase_memory_turn_to_heap=1
_gbase_express_table_metadata_limit=10737418240
gbase_memory_pct_target=0.4
gbase_heap_data=30G
gbase_heap_large=10G
gbase_heap_temp=30G
_gbase_memory_use_swap=1
_gbase_cache_drop_hot_data=1
gbase_tcmalloc_check_memory_threadhold_rate=0.01
gbase_tcmalloc_aggressive_decommit_threadhold_load_factor=0.75
gbase_tcmalloc_releasememoryToOS_threadhold_rate=0.02
_gbase_sis_strict_mode=0
gbase_parallel_degree = 4
gbase_load_parallel_degree = 4
# 兼容模式:
cexec data: "grep  -w gbase_parallel_degree /opt/10.185.*/gnode/config/gbase_8a_gbase.cnf"
# 多vc模式:
cexec {vcname}: "grep  -w gbase_parallel_degree /opt/10.185.*/gnode/config/gbase_8a_gbase.cnf"
说明:查看gcluster及gnode节点的参数,是否满足现在数据库需求,然后根据需求调整参数。
1.25.监控脚本检查
监控集群状态:
cexec coor: "crontab -l|grep monitor"
监控gcluser及gnode的各时间段进程:
cexec coor: "ps -ef|grep always"
1.26.自启动设置检查
cexec coor: "cat /etc/rc.d/rc.local"

评论

登录后才可以发表评论
崔哥发表于 1个月前
一上高城万里愁,蒹葭杨柳似汀洲。溪云初起日沉阁,山雨欲来风满楼。鸟下绿芜秦苑夕,蝉鸣黄叶汉宫秋。行人莫问当年事,故国东来渭水流。