集群使用
服务启停均使用数据库安装用户vastbase用户进行操作。
在部署有HAS工具的情况下,对于某些既可以直接调用内核工具,也可以调用HAS工具进行执行的命令,如:switchover、build等,请优先使用HAS工具,因为如果直接调用内核工具,有可能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
如下所示,nodeid 为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已经升为新主: