集群使用
服务启停均使用root用户进行操作。
集群启停
启动集群
启动集群步骤如下:
1) 先启动主库has,再启动备库has。注意,需要确保备节点没有挂载数据存储,主库无需手动挂载。
在备节点执行:/home/vastbase/has/bin/umount.sh
在各服务器执行:systemctl start has
停止集群
停止集群需要按特定步骤,以避免出现不必要的问题,具体如下:
注意,先停备库,再停主库,防止先停主库发生不必要的自动切换。
在各服务器执行:systemctl stop has
查看集群
使用数据库用户在安装有has的机器上进入安装目录下的bin目录执行
./sd_hasctl-c \<yml配置文件> list
后续默认sd_hasctl都在在目录下运行。
如:./sd_hasctl -c /home/vastbase/has/etc/vastbase.yml list,执行成功后会显示主备库各节点的信息,如下:
主备切换
使用数据库用户在安装有has的机器上进入安装目录执行
./sd_hasctl -c <yml配置文件> switchover
如:
./sd_hasctl -c /home/vastbase/has/etc/vastbase.yml switchover
执行成功后可以查看切换后各节点的信息,如:
故障切换
在主库机器故障时,备库自动升级为主库。模拟该故障的情况可以使用kill命令杀掉管理主库的sd_has进程或关掉安装有主库的机器等其它类似操作,然后在安装有备库的机器上执行6.2章节中命令查看备库节点的信息,此时备库的角色会显示为leader。故障发生后时,使用数据库用户可以查询各节点信息显示如下:
- 集群初始阶段
- 切换后,无法获取前主库的信息,只显示当前存活节点信息:
重新初始化集群
集群已经搭建完成,需要重新初始化数据库并启动集群,这种情况需要严格按照如下步骤执行:
停止所有节点has服务
在所有节点root用户执行:systemctl stop has
删除数据存储中数据库数据
在其中一个节使用root用户执行:
/home/vastbase/has/bin/mount.sh
rm -rf /data/vastbase
清理仲裁存储数据
使用sd_hasctl 工具清理仲裁存储中的数据:
./sd_hasctl -c /home/vastbase/has/etc/vastbase.yml clear
手动重新初始化数据库
初始化数据库参考第四章说明,使用vb_initdb工具进行手动初始化。
重启所有节点has服务
先在主节点上启动has服务:
在主节点root用户执行:systemctl start has
等待主节点完成启动后(可以通过ps -ef进程命令查看方式确认数据库已经启动),启动备节点has服务。
在备节点root用户执行:systemctl start has