【实战经验】Greenplum集群Master與Segment节点故障检测与恢复

325201ae-b18f-4aa2-a05c-2a9848300883.jpg

了解更多Greenplum相关内容,欢迎访问Greenplum中文社区网站

Greenplum集群主要包括Master节点和Segment节点,Master节点称之为主节点,Segment节点称之为数据节点。Master节点与Segment节点都是可以有备份的,其中Master节点的备节点为Standby Master(不能够自动故障转移),Segment是通过Primary Segment与Mirror Segment进行容错的。通过本文你可以了解:

  • Greenplum数据库的高可用(HA)原理

  • Greenplum生产集群中master节点故障恢复

  • Greenplum生产集群中segment故障检测与恢复

  • Segment节点故障恢复原理与实践

Greenplum数据库的高可用原理

1. master mirroring概述

可以在单独的主机或同一主机上部署master实例的备份或镜像。如果primary master服务器宕机,则standby master服务器将用作热备用服务器。在primary master服务器在线时,可以从primary master服务器创建备用master服务器。

Primary master服务器持续为用户提供服务,同时获取Primary master实例的事务快照。在standby master服务器上部署事务快照时,还会记录对primary master服务器的更改。在standby master服务器上部署快照后,更新也会被部署,用于使standby master服务器与primary master服务器同步。

Primary master服务器和standby master服务器同步后,standbymaster服务器将通过walsender 和 walreceiver 的复制进程保持最新状态。该walreceiver是standby master上的进程, walsender流程是primary master上的进程。这两个进程使用基于预读日志(WAL)的流复制来保持primary master和standby master服务器同步。在WAL日志记录中,所有修改都会在应用生效之前写入日志,以确保任何进程内操作的数据完整性。

由于primary master不包含任何用户数据,因此只需要在主master和standby master之间同步系统目录表(catalog tables)。当这些表发生更新时,更改的结果会自动复制到备用master上,以确保与主master同步。

如果primary master发生故障,管理员需要使用gpactivatestandby工具激活standby master。可以为primary master和standby master配置一个虚拟IP地址,这样,在primary master出现故障时,客户端程序就不用切换到其他的网络地址,因为在master出现故障时,虚拟IP地址可以交换到充当primary master的主机上。

2. mirror segment概述

当启用Greenplum数据库高可用性时,有两种类型的segment:primary和mirror。每个主segment具有一个对应的mirror segment。主segment接收来自master的请求以更改主segment的数据库,然后将这些更改复制到相应的mirror segment上。如果主segment不可用,则数据库查询将故障转移到mirror segment上。

Primary segment和Mirror segment之间的同步与primary master和standby master相同,也是采用基于WAL流的同步。

3. group mirroring方式

只要primary segment实例和mirror segment实例位于不同的主机上,mirror segment就可以以不同的配置方式放置在群集中的主机上。每个主机必须具有相同数量的mirror segment和primary segment。默认mirror segment配置方式是group mirroring,其中每个主机的primary segment的mirror segment位于另一个主机上。如果单个主机发生故障,则部署该主机的mirror segment主机上的活动primary segment数量会翻倍,从而会加大该主机的负载。下图说明了group mirroring配置。

c358c0d0-cb67-49ac-98e1-3482afe913d2.jpg

4. Spread mirroring方式

Spread mirroring方式是指将每个主机的mirror segment分布在

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值