GreemPlum怎樣將故障恢復後的主庫加入集羣

環境介紹:

原主庫IP      原主庫hostname

192.168.1.202   pc1

192.168.1.204   pc3

 

當原主庫故障恢復後,在原主庫上執行gpstart -a時報錯:

gpstart:pc1:gpadmin-[ERROR]:-gpstart error: Standby activated, this node no more can act as master.

執行gpstart -m雖然能啓動成功,但是隻是master-only模式,不能登錄該數據庫。

1 將原主庫以standby的角色加入

1.1 刪除原master的數據目錄

cd /data/greenplum/data/master

mv gpseg-1 gpseg-1_bak

1.2 將原主庫以standby的角色加入集羣

在現主庫上執行:

gpinitstandby -s pc1

--pc1是原主庫的主機名

如果報錯:

-[ERROR]:-Failed to copy data directory from master to standby.

20200331:15:20:51:008596 gpinitstandby:pc3:gpadmin-[ERROR]:-Failed to create standby

[ERROR]:-Error initializing standby master: ExecutionError: 'non-zero rc: 1' occurred.  Details: 'ssh -o StrictHostKeyChecking=no -o ServerAliveInterval=60 pc1 ". /usr/local/greenplum-db/./greenplum_path.sh; pg_basebackup -c fast -D /data/greenplum/data/master/gpseg-1 -h pc3 -p 5432 --xlog --force-overwrite --write-recovery-conf --target-gp-dbid 7 -E ./db_dumps -E ./gpperfmon/data -E ./gpperfmon/logs -E ./promote --progress --verbose"'  cmd had rc=1 completed=True halted=False

請確認原主庫的防火牆端口是否開通

 

#查看master standby信息

[gpadmin@pc3 ~]$ gpstate -f

1.3 主從切換

#殺掉pc3的master節點:

gpstop -m

 

#激活pc1上的standby master

gpactivatestandby -d $MASTER_DATA_DIRECTORY

 

#檢查集羣狀態

gpstate -s

會看到Master host變成pc1了。

 

--本篇文章主要參考了https://blog.51cto.com/ylw6006/2088991

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章