《GaussDB DWS集群架构及实例功能和问题定位思路》【绽放吧!GaussDB(DWS)云原生数仓】
1 前言
本文从集群的架构,组成集群的各个实例功能,以及当集群实例出现故障时的问题定位思路三个方面,帮助新人入门GaussDB集群的运维。集群是GaussDB DWS数据库的基础,所以相关的实例组成和功能,对于加深对数据库的理解至关重要。
2 集群架构概述
GaussDB DWS集群均为主备从架构部署,采用shared nothing的理念,即各个节点实例资源独立,理论支持无限扩展。以三节点的集群为例,具体架构如下图所示,
3 集群实例及相关组件介绍
①:CM server,集群管理服务实例,有主和备实例,一个集群中仅有一套主备。负责集群实例的状态仲裁和管理。
②:GTM,全局事务管理实例,有主和备实例,一个集群中仅有一套主备。负责执行sql时,分配事务号,xid,快照等。保证集群全局的事务一致性。
③:CM agent,集群管理执行实例,每个节点均有。主要负责每个节点CN/DN/GTM实例的状态监控和HA控制,定期给CMS上报节点的实例信息。也会做如磁盘使用百分比等别的健康检查。CMS实例同样由CMA保证启动。
④:CN(CCN),协调节点,负责接入执行业务的节点。Sql引擎分析后会决定语句的具体执行方式,如CN执行/CN执行部分,下推DN执行部分/完全下推DN执行。CCN用于资源管理的排队处理。每个CN具有平等的功能和地位。
⑤ ⑥ ⑦:DN,数据节点。负责存储数据。主备从的形态存在于集群中。主DN正常处理数据,备DN接收主DN发送的xlog回放后完成主备DN的数据同步。从备仅在备DN异常时,代替备DN接收XLOG,但不会回放数据,无法真的起到备DN的功能。DN的主备从,分布在集群的不同节点,节点以保证单点故障后的高可用。
⑧:DN组和DN环,一个主DN和其备DN以及从备DN,称为一个DN组,使用主DN和备DN的实例编号下划线连接表示,如dn_6001_6002。一个节点上所有主DN及其备DN和从备DN的组合,称为一个DN环。对于大规模集群,若单个节点的DN数超过1个,DN环可能超过个3节点。如,6节点集群,节点1有两个主DN,DN组1主备从分布在节点123,DN组2主备从分布在134,则称之为4节点成环。
⑨:连接数据库方式和负载均衡,用户可以通过gsql客户端,java的连接库jdbc,C的连接库ODBC,连接集群的CN或者负载均衡服务,完成业务的执行。负载均衡服务lvs,在管控面因为是弹性使用的,称为ELB即弹性负载均衡。通过负载均衡服务连接数据库,可以尽量均匀的分发业务到不同节点的CN,最大化使用资源。
4 实例故障问题定位思路
一句话总结集群故障定位思路:实例故障,先看故障实例自身的日志,再看故障实例所在节点负责监控的cm_agent日志,最后看cm_server日志。
5 总结
本文仅对集群的架构和各个实例的功能做简要的介绍,以此文为基础。后续会通过具体的场景,如CN剔除,进一步介绍GaussDB DWS集群的运维操作。
PS.常用集群操作,
①查看集群状态,cm_ctl query -Cvidp /gs_om -t status --details
②启停集群,cm_ctl start/cm_ctl stop
我正在参加【有奖征文 第27期】绽放吧!GaussDB(DWS)云原生数仓!https://bbs.huaweicloud.com/blogs/412962
- 点赞
- 收藏
- 关注作者
评论(0)