
了解更多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配置。

4. Spread mirroring方式
Spread mirroring方式是指将每个主机的mirror segment分布
Greenplum集群故障检测与恢复实战

本文详细介绍了Greenplum数据库的高可用性原理,包括Master节点和Segment节点的故障恢复。当Master节点故障时,可通过gpactivatestandby激活standby master,Segment节点故障时,使用gprecoverseg工具进行恢复。文中还阐述了故障检测、日志检查和恢复过程,以及如何在启用mirror的情况下保持数据同步。
最低0.47元/天 解锁文章
3026

被折叠的 条评论
为什么被折叠?



