VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

集群使用

本节介绍的命令均使用安装数据库的系统用户vastbase进行操作。

  • 本节仅介绍集群的启停与其它基础使用命令,关于has_ctl的详细用法及参数说明请参考has_ctl工具介绍
  • 在部署有HAS工具的情况下,对于某些既可以直接调用内核工具,也可以调用HAS工具进行执行的命令,如:switchover、build等,请优先使用HAS工具,因为如果直接调用内核工具,有可能HAS感知不到用户正在手动执行指令,进而误判集群状态异常。
  • HAS有进程保活功能,并且会实时监控集群状态并进行自动故障处理,如果运维人员需要手动处理集群状态或进行问题调试定位等,最好执行has_ctl pause命令将HAS服务暂停掉,否则可能会干扰运维操作,待运维操作完成后可以执行has_ctl resume命令恢复HAS服务。

集群启停

启动集群

使用数据库安装用户vastbase,在集群内任一服务器上执行以下命令启动集群。

has_ctl start

启动过程如下:

停止集群

使用数据库安装用户vastbase,在集群内任一服务器上执行以下命令停止集群。

has_ctl stop

执行结果如下:

查看集群状态

使用数据库安装用户vastbase,在集群内任一服务器上执行以下命令查看集群状态:

has_ctl query -C -v -i

执行成功后会显示主备库各节点的信息,下图为一主两备的情况:

主备切换

使用数据库安装用户vastbase,在集群内任一服务器上执行以下命令,指定要切换为新主机的节点编号NODEID和数据目录DATA_DIR,命令如下:

has_ctl switchover -n NODEID -D DATA_DIR 

例如:

has_ctl switchover -n 2 -D /opt/vastbase/install/data/dn

上述命令将节点编号为2的节点切换为主节点。执行成功后,使用如下语句查看切换后的集群状态信息:

has_ctl query -C -v -i

如下所示,node id为2的节点vastbase切换为新主:

switchover是维护操作,会变更集群内主机运行的节点,在确保数据库实例状态正常和业务结束情况下,无主备追赶后再进行switchover操作。

修改集群配置

可以使用vb_guc工具,修改Vastbase数据库配置文件中的参数:

vb_guc set -N all [-D DATADIR] -c "parameter = value"

例如:

vb_guc set -Z datanode -N all -I all -c "max_process_memory=10GB"

故障切换

在主库机器故障时,集群管理组件会自动从备机中选出新主并提升为主库。

集群启动后,各节点部署运行的has_agent会持续监控并上报本节点数据库当前状态给has_server,has_server 通过心跳机制主动发现节点异常或通过has_agent主动上报,发现当前集群内主库故障,在当前运行的备机中选出新主机,下发failover命令给新主的has_agent,使备机自动升主,继续由主机提供数据库读写服务。

以下为使用has_ctl stop -n 主节点ID的方式停掉主库,模拟故障切换场景。

集群初始阶段,查看状态:

has_ctl query -C -v -i

模拟故障,停止主库:

has_ctl stop -n 2

查看集群状态:

has_ctl query -C -v -i

返回结果如下,表示node 1节点的vastbase已经升为新主: