标签(空格分隔): greenplum系列
[toc]
模拟master standby 坏掉,删除目录,重启
rm -rf /greenplum/gpdata/master/*
正常情况
gpstate -f

rm -rf /greeplum/gpdata/master/*
reboot


主节点:
gpinitstandby -r 清除standby 节点

添加一个备库
gpinitstandby -s node02.flyfish.cn



模拟master坏掉,删除目录,重启
rm -rf /greenplum/gpdata/master/*
reboot
1. 先切换备库作为主库
激活:standby
gpactivatestandby -d /greenplum/gpdata/master/gpseg-1
gpstate -f

psql -c "select * from gp_segment_configuration order by content asc,dbid;"

然后在增加一个standby
gpinitstandby -s node01.flyfish.cn
这样(node01.flyfish.cn) master 就成为standby了
(node02.flyfish.cn) 就成为master

主机切回
node02.flyfish.cn 关闭主库:
gpstop -m -a

node01.flyfish.cn 成为主库:
gpactivatestandby -d /greenplum/gpdata/master/gpseg-1

node02.flyfish.cn:
rm -rf /greenplum/gpdata/master/gpseg-1
reboot

node01.flyfish.cn
执行 加添node02.flyfish.cn 成为备库
gpinitstandby -a -s node02.flyfish.cn




模拟segment 主机故障
集群由于负载均衡高,坏cpu,坏内存,坏硬盘
---
比如: node03.flyfish.cn segment 主坏掉
新买一台服务器:
安装系统,配置,配置SSH 无密钥认证,ip一样,主机名一样,跟增加主机节点一样。
---
rm -rf /greenplum/gpdata/primary/*
rm -rf /greenlum/gpdata/mirror/*

gpstate -f
node03.flyfish.cn 挂掉了


在node01.flyfish.cn 上面恢复
gprecoverseg -o ./recover

gprecoverseg -i ./recover 修复一下
gprecoverseg -i ./recover -F 全部修复




一个段损坏
cd /greenplum/gpdata/mirror/gpseg3
rm -rf pg_tblspc/
杀掉一个这个段的进程
kill -9 93213

进行恢复
gprecoverseg -o ./recover1
cat ./recover1

恢复:
gprecoverseg -i recover1 -F

gprecoverseg -r
从新平衡segment的


重启集群:
gpstop -r -a
原文:https://blog.51cto.com/flyfish225/3170973