前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Greenplum集群故障修复小记

Greenplum集群故障修复小记

作者头像
jeanron100
发布2018-07-26 15:15:28
1.2K0
发布2018-07-26 15:15:28
举报

今天有一套环境因为网络调整,结果诺大的Greenplum集群,primary和mirror节点部分有了故障,假设有200个实例,100个segment,100个mirror,情况就是100个实例出现了问题(可能mirror已经宕机,可能mirror切换为primary,可能primary切换为mirror)刚好保证了100个实例能够正常承接业务。

比如你通过GPCC的方式看到下面的这种情况,你的内心应该是崩溃的。

以下面的这个图为例,基本就是master是Greenplum节点,下面的PostgreSQL节点分别有多个segment组成,segment的角色分为primary和mirror,即每一个节点都是一个热备组合。

这样来一铲子,或者网络的大的异常,那么整个集群中segment节点间的心跳就歇菜了。

下面是问题发生时Greenplum节点抛出的日志信息:

2018-05-24 05:01:58.266841 CST,,,p42420,th972601120,,,,0,con2,,seg-1,,,,,"LOG","00000","FTS: primary (dbid=23) reported mirroring fault with mirror (dbid=124), mirror considered to be down.",,,,,,,0,,"ftsfilerep.c",358,

。。。

2018-05-24 05:01:58.266888 CST,,,p42420,th972601120,,,,0,con2,,seg-1,,,,,"LOG","00000","FTS: change state for segment (dbid=23, content=21) from ('u','p') to ('u','p')",,,,,,,0,,"fts.c",1157,

可以从日志看到mirro发生了故障。

修复segment节点,Greenplum提供的工具集gprecoverseg还蛮不错,可以转储出一个列表recov,然后专门修复列表中的segment

$ gprecoverseg -o ./recov

...

20180524:10:14:18:191458 gprecoverseg:xxxxx:gpadmin-[INFO]:-Configuration file output to ./recov successfully.

列表生成的信息如下:

$ less recov

filespaceOrder=data2_sata_fsp

segment_51:41000:/data1/greenplum_data/gpdatam01/gpseg0

segment_51:41001:/data1/greenplum_data/gpdatam02/gpseg1

segment_51:41002:/data1/greenplum_data/gpdatam03/gpseg2

....

使用如下的方式开启恢复

gprecoverseg -i ./recov

整个过程GP的操作还是求稳,会逐个验证一遍segment的状态,保证要恢复的segment节点是down的状态,等都验证完成后,进入交互模式,你得确定要恢复才会开始。

修复完成后,segment节点就会开启同步了。

但是还是有不完善的地方,就是有12个节点的角色依然是有问题的。比如之前是primary,现在切换成了mirror,那么preferred role就是primary.

对于这种情况,还是gprecoverseg里面的-r选项就可以实现这个需求。

gprecoverseg -r

整个过程会持续一些时间,最后的结果还是喜人的。

这种场景如果自己练习,内心可能不会有什么波澜,假设这个业务很重要,而且需要快速恢复,你甚至都不能保证所有的操作100%有效,不会触发bug,想想小心脏都受不了啊。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档