美文网首页大数据 爬虫Python AI Sql
Greenplum · 工作原理 · Master standb

Greenplum · 工作原理 · Master standb

作者: sinwaj | 来源:发表于2020-08-04 21:58 被阅读0次

一.背景

Greenplum的架构中协调节点的高可用性是通过主从方式实现。Greenplum支持master自动故障转移,以及当故障没有自动转移的场景,需要人工介入进行故障处理和恢复。

二.故障转移流程

1. 单点故障

Master自动故障转移可以处理单点故障,当master, standby , master probe segment其中一个发生故障对应的场景说明如下。

1.1. Master故障 , standby和master probe正常

当不支持自动故障转移,集群不可用,需要人工 gpactivatestandby 

当支持自动故障转移,master probe 将自动激活standby.

当stanby成为新的master,需要完成如下步骤: 

(1) 通过gpinitstandby, 启动原来的master作为standby 。

(2) 原来的master和当前的master,角色倒换。(目前没有合适的命令,只能通过如下,多次命令操作,如master:host1,standyby:host2)

i) host2上操作,pg_ctl stop -D /data01/gpadmin/gpdata/master/gpseg-1/    //停服务

ii)重命名目录:

cd /data01/gpadmin/gpdata/master

mv gpseg-1 gpseg-1_bak

cd /data01/gpadmin/gpdata/master

mv gpseg-1 gpseg-1_bak

iii)现在的standby host1

gpactivatestandby -d /data01/gpadmin/gpdata/master/gpseg-1   //激活standby

gpinitstandby  -s host2   //添加standby

1.2. Standby故障 , master和master probe 正常

当不支持自动故障转移synchronous_standby_names为空 ,集群正常运行。

当不支持自动故障转移synchronous_standby_names 是 *, 集群正常运行,写事务阻塞,直到手工unblocked。

当支持自动故障转移master probe保存standby out-of-sync信息到segment catalog 并unblock 写。

当人工修复故障,重新启动standby. 

1.3. master probe segment故障, master和standby正常

master probe支持自动故障转移,需要结合具体情况,一般GP自动指派一个新的活动segment作为 master probe 。

2. 2个角色故障

发生2个角色故障,需要做如下操作恢复集群。

2.1. Master和standby同时故障

如果发生故障master可以启动,通过gpstart 恢复集群;如果只有standby能够启动,可以通过 gpactivatestandby 把standby变成master。

如果gpactivatestandby把standby变成mater失败,可以通过gpactivatestandby -f 把standby强制变成mater,但会存在数据一致性的风险。

2.2. Master和master probe同时故障

如果master probe segment能够正常启动,按照流程2.1 尝试首先把standby变成master。,如果不行,需要通过gpactivatestandby -f 把standby强制变成mater,但会存在数据一致性的风险。

2.3. Standby和master probe同时故障

(1) 需要以维护方式(utility mode)连接master probe segment ,并标记不一致 或在standby数据目录中创建promote.deny文件 ,阻止gpactivatestandby运行,导致数据不一致,知道第2步操作完成。

(2) 可以通过gpconfig设置master synchronous_standby_names为空,然后master继续服务集群。 

三.参考资料

https://github.com/greenplum-db/gpdb/wiki/Master-standby-failover-workflow

相关文章

  • Greenplum · 工作原理 · Master standb

    一.背景 Greenplum的架构中协调节点的高可用性是通过主从方式实现。Greenplum支持master自动故...

  • 启动和停止 Greenplum 数据库

    启动和停止 Greenplum 数据库 在Greenplum数据库DBMS中,数据库服务器实例(master和所有...

  • Jmeter分布式部署遇到的坑【记录】

    一、先上原理图,理解原理后再工作 1.1、分布式压测原理: 使用Master-Slave模式,用master机控制...

  • Redis搭建

    主从复制工作原理 • 工作原理 – Slave 向 maste 发送 sync 命令 – Master 启动后台存...

  • docker搭建redis主从架构

    redis主从架构搭建 主从工作原理(master-slave) 为主节点master配置一个从节点slave,不...

  • CentOS 7 部署 greenplum-cc-web 4.9

    1 GreenPlum集群安装环境 由虚拟机搭建的一台master两台segment。(参见文章https://w...

  • 【Greenplum】TPC测试指南

    【Greenplum】TPC性能测试指南 1、准备工作 1.1、Greenplum集群 集群版本集群规格集群节点数...

  • 【Greenplum】TPC测试指南

    【Greenplum】TPC性能测试指南 1、准备工作 1.1、Greenplum集群 集群版本集群规格集群节点数...

  • canal

    工作原理 MySQL主备复制原理 1、MySQL master 将数据变更写入二进制日志( binary log,...

  • redis主从复制

    1、概述 结构模式:一主一从,一主多从 工作原理:slave向master发送sync命令,master启动后台存...

网友评论

    本文标题:Greenplum · 工作原理 · Master standb

    本文链接:https://www.haomeiwen.com/subject/bfrprktx.html