master节点异常宕机,在存在standby节点的情况下
启用standby节点为master
1、在master standby节点进行执行切换命令,提升standby节点为master
gpactivatestandby -d $MASTER_DATA_DIRECTORY
2、查看down的segment,其中status值为d的是down状态,role为m的是镜像节点
select * from gp_segment_configuration order by status;
3、主节点异常宕机,会出现mirror节点不能sync。
gprecoverseg -o /home/gpadmin/recover 会在/home/gpadmin目录生成一个recover文件,里面包含了要恢复的节点信息
4、使用恢复配置文件恢复节点
$gprecoverseg -i /home/gpadmin/recover
恢复过程中可以用gpstate -m 查看恢复状态:Resynchronizing(表示正在恢复中),Synchronized(表示恢复完毕)
5、调整Primary和Mirror
上面的情况中有Primary和Mirror兑换的情况,所以需要把他们换回来,可以用下面的命令
gprecoverseg -r
等待所有的节点都是Synchronized后,segment就恢复好了
6、恢复完成之后需要确认pg_hba.cnf认证文件。根据具体调整。
完成切换
master切回至原master节点
1、查看集群状态
gpstate -f
此时发现集群并没有启用standby,状态为Not
Configured,正常应该是指定了master standby 机器名称和状态为passive。
2、激活standby到原master
gpinitstandby -s gpmaster -S $ MASTER_DATA_DIRECTORY
3、将master切换回原master
gpactivatestandby -d $ MASTER_DATA_DIRECTORY
4、激活standby到原standby
gpinitstandby –s gpseg8 -S $ MASTER_DATA_DIRECTORY
5、gpstate -s