Greenplum中检测和恢复故障的master实例

0    44    2

Tags:

👉 本文共约1428个字,系统预计阅读时间或需6分钟。

greenplum整个集群是由多台服务器组合而成,任何一台服务都有可能发生软件或硬件故障,我们一起来模拟一下任何一个节点或服务器故障后,greenplumn的容错及恢复方法.

本文主要说明master或standby master故障后的处理办法。

master状态检测

使用gpstate -f或查询select * from gp_segment_configuration order by 2,1;即可。

Greenplum中恢复故障的Master命令gpactivatestandby

https://www.xmmup.com/greenplumzhonghuifuguzhangdemasterminglinggpactivatestandby.html

master恢复示例

环境说明:https://www.xmmup.com/mppjiagouzhigreenplumdeanzhuangpeizhigaojiban.html#huan_jing_shen_qing

正常集群状态

在master查看数据库当前的状态:

故障情况1:master 服务器故障

当master节点故障后,我们需要激活standby节点作为新的master节点(如果服务器配置有VIP,那么把vip也切换到standby服务器)

在激活standby节点的可以直接指定新的standby节点,也可以等原master服务器恢复后,指定原master节点为standby节点

关闭master节点

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

激活standby节点

standby master启用VIP:

此时,集群即可正常使用。

修复mdw1节点,然后指定为新的standby节点

我们指定原master节点为新的standby节点服务器

需要先删除原master的数据文件,然后重新执行初始化standby节点即可

错误操作:在mdw1节点启动整个GreenPlum集群会报错,修复集群也会报错:

我们应该在md2上操作:

修复完成后的状态:

故障情况2:standby 服务器故障

情况1:能正常启动

情况2:数据库文件损坏不能正常启动

若数据库文件损坏不能正常启动,则需要将standby节点数据删除,然后重新初始化一下standby服务器即可

修复:需要先删除再添加:

总结

1、若master故障,则直接在standby master上执行如下命令将standby master激活为主master:

若有VIP也需要切换VIP。

然后原来的master节点可以删除数据后,然后作为新的standby加入:

2、若standby master故障,则分情况:若是宕机,其实可以正常启动,使用如下命令正常启动:

若数据库文件损坏不能正常启动,则需要将standby节点数据删除,然后重新初始化一下standby服务器即可,需要先删除再添加:

3、master和standby master就是PG中的主从复制,要想实现自动故障转移,则需要借助keepalived或repmgr或patroni或pgpool实现高可用自动切换。

参考

https://blog.csdn.net/weixin_33724570/article/details/89720415

https://www.xmmup.com/greenplumshujukugaokeyongxinggaishu.html#Master_jing_xiang

https://zhuanlan.zhihu.com/p/165983070

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部