Greenplum 激活standby 和恢复 master 原有角色

当Greenplum segment的primary出现问题时,FTS会监测到,GP会自动激活mirror。
但是对于GP的master节点,虽然有standby,但是GP并不会自动来完成master和standby master的角色互换,需要通过gpactivatestandby命令来完成这个过程。
假设我现在已经有一个gp集群,并且配置好了standby。
如下:
postgres=# select * from pg_stat_replication
postgres-# ;
procpid | usesysid | usename  | application_name |  client_addr  | client_port |         backend_start         |   state   | sent_location | write_location | flush_location | replay_location | sync_priority | sync_state
---------+----------+----------+------------------+---------------+-------------+-------------------------------+-----------+---------------+----------------+----------------+-----------------+---------------+------------
   14273 |       10 | dege.zzz | walreceiver      | 10.218.249.25 |       29067 | 2015-12-21 19:43:51.621823+08 | streaming | 0/20003500    | 0/20003500     | 0/20003500     | 0/20003500      |             1 | sync
(1 row)

激活步骤
1. 关闭GP
2. 修改环境变量,指向新主库的DATA目录。
$export MASTER_DATA_DIRECTORY=/disk1/digoal/gpdata/gpseg-2
3. 激活
4. 启动新集群

   定义:server1=(master) server2=(standby)
Active standby server when master down.
gpactivatestandby -d /data/master/gpseg-1 -f (on server2)
Change server1 as standby .
 gpinitstandby -s server1 (on server2)
 gpactivatestandby -d /data/master/gpseg-1 -f (on server1)restore server1 as master
gpstop -m (on server2)
gpactivatestandby -d /data/master/gpseg-1 -f (on server1)
restore server2 as standby
gpinitstandby -s  server2 (on server1)
MARK: pay attention to store or remove /data/master/gpseg-1 when do gpactivatestandby operation.
 
整理自:
https://blog.csdn.net/kntao/article/details/17534189
https://yq.aliyun.com/articles/242
原文地址:https://www.cnblogs.com/xibuhaohao/p/11327444.html