循序渐进丨MogDB 数据库带级联从库的集群切换后如何保持原有架构?

news2024/11/24 10:45:23

生产数据库运行过程中可能会涉及到升级或者打补丁,导致各节点的角色有计划的发生改变。如果集群内角色发生改变,是否还能保持原有架构继续对外提供服务呢?我们来做一下测试。

采用2+2模式模拟同城两机房部署4节点 MogDB 数据库集群,即主机房是primary节点和1个备库,同城节点是1个备库和1个级联从库。

测试的目标是:无论我们怎么切换主库,希望在集群节点都正常运行的情况下始终保持这个2+2的架构。接下来我们以switchover的方式来进行切换测试。

1

测试

数据库准备

利用PTK一键安装 MogDB 进行数据库安装。安装后集群的初始状态是1主2备1级联。如下图所示,45是主库,46和47是备库,48是级联从库。

695af2831c8c05dd80bdb68edb97483b.png

03cc92aa4b9f764d209f1150fb3d42a5.png

各节点同步角色配置

45(dn_6001): synchronous_standby_names='first 2 (dn_6002,dn_6003)'
46(dn_6002): synchronous_standby_names='first 2 (dn_6001,dn_6003)'
47(dn_6003): synchronous_standby_names='first 2 (dn_6001,dn_6004)'
48(dn_6004): synchronous_standby_names='first 2 (dn_6001,dn_6003)'

本地机房切主

将主库由45切到46,执行ptk cluster switchover -n switchtest -H 172.16.3.46

14a2f4efc2807e1264bc54cae00b5575.png

在46上查询同步状态,45和47是同步备,48是级联从,符合预期。

fba82141a69cfbb8aad997ce15f73f57.png

同城机房切主

将主库由46切到47,执行ptk cluster switchover -n switchtest -H 172.16.3.46

ebd2112c4d2dae982f42352554ac5479.png

在47上查询同步状态,45是同步备,46是异步备,48是Need repair状态,不符合预期。

562ecd0ed6abcbab509696bd1d10b9e7.png

原因分析

  • 级联从永远是级联从,不会将角色自动变为同步备或异步备;

  • 备库可以升级为主库,但不会变为级联从。

处理步骤

  • 修改数据库参数,将需要变成级联从的replconninfo参数添加iscascade=true,将其他replconninfo中的iscascade=true去掉;

  • 重启原级联节点和新级联节点,重启的方式有两种,一种是直接通过gs_ctl命令重启,另一种是修改ptk的配置参数后重启。

47节点修改参数前后:

397ad4559cb51fe390aedea7452863d6.png

ecdf6cb8d7067deda6bc1c42770b0fc5.png

48节点修改参数前后,需要添加其他备库同步信息:

9565c4202ed87b2e4b3d69ff5ef0120c.png

46节点修改参数前后,需要去掉其他同步备信息:

00bb9d80207bfc005e69e258a4571465.png

45节点修改参数前后:

d9cd806091bdc116cf9d34294227a360.png

重启新级联节点

df9c01c8f1d0eebd34b9237b0e616455.png

重启原级联节点

09098001c690ebcf37f8a4d7e15acf7c.png

2

结论

  • 如果集群中不存在级联从,不需要人为参与;

  • 如果集群中有级联从,需要手工修改数据库参数,并且需要对原级联和新级联节点进行重启。

关于作者

高云龙,云和恩墨南北大区服务总监,擅长 PostgreSQL / Greenplum / Citus 数据库架构设计、故障处理、运维优化及数据库迁移,乐于数据库技术分享,曾任职去哪儿网及某金融公司,负责核心数据库架构建设,目前在云和恩墨从事 PG / MogDB / openGauss 数据库交付管理工作。

c40e54aa714e6388c9554e47fb2579ba.gif

数据驱动,成就未来,云和恩墨,不负所托!


云和恩墨创立于2011年,是业界领先的“智能的数据技术提供商”。公司总部位于北京,在国内外35个地区设有本地办公室并开展业务。

云和恩墨以“数据驱动,成就未来”为使命,致力于将创新的数据技术产品和解决方案带给全球的企业和组织,帮助客户构建安全、高效、敏捷且经济的数据环境,持续增强客户在数据洞察和决策上的竞争优势,实现数据驱动的业务创新和升级发展。

自成立以来,云和恩墨专注于数据技术领域,根据不断变化的市场需求,创新研发了系列软件产品,涵盖数据库、数据库存储、数据库云管和数据智能分析等领域。这些产品已经在集团型、大中型、高成长型客户以及行业云场景中得到广泛应用,证明了我们的技术和商业竞争力,展现了公司在数据技术端到端解决方案方面的优势。

在云化、数字化和智能化的时代背景下,云和恩墨始终以正和多赢为目标,感恩每一位客户和合作伙伴的信任与支持,“利他先行”,坚持投入于数据技术核心能力,为构建数据驱动的智能未来而不懈努力。

我们期待与您携手,共同探索数据力量,迎接智能未来。

f19eeebb05ef7ca9b579063af5731a04.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1589957.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FFmpeg: 简易ijkplayer播放器实现--06封装打开和关闭stream

文章目录 流程图stream openstream close 流程图 stream open 初始化SDL以允许⾳频输出;初始化帧Frame队列初始化包Packet队列初始化时钟Clock初始化音量创建解复用读取线程read_thread创建视频刷新线程video_refresh_thread int FFPlayer::stream_open(const cha…

Linux/Tenten

Tenten Enumeration Nmap 扫描发现对外开放了22和80端口,使用nmap详细扫描这两个端口 ┌──(kali㉿kali)-[~/vegetable/HTB/Tenten] └─$ nmap -sC -sV -p 22,80 -oA nmap 10.10.10.10 Starting Nmap 7.93 ( https://nmap.org ) at 2023-12-25 00:52 EST Nmap …

【Python】什么是pip,conda,pycharm,jupyter notebook?conda基本教程

pip--conda--pycharm--jupyter notebook 🍃pip🍃conda🍃Pycharm🍃jupyter notebook🍃Conda基本教程☘️进入base环境☘️创建一个新的环境☘️激活环境☘️退出环境☘️查看电脑上都安装了哪些环境☘️删除已创建的项目…

Zookeeper实现分布式锁的分析和理解

Zookeeper实现分布式锁 创建临时顺序节点执行create -e -s /znode即可实现分布式锁。 zk中锁的分类 读锁(读锁共享):大家都可以读。上锁前提:之前的锁没有写锁写锁(写锁排他):只有得到写锁的…

Project Euler_Problem 172_Few Repeated Digits_动态规划

原题目: 题目大意:18位数里头,有多少个数,对于每个数字0-9,在这18位里面出现均不超过3次 111222333444555666 布星~~ 112233445566778899 可以~~ 解题思路: 动态规划 代码: ll F[19][3000000];void …

【python】在pycharm创建一个新的项目

双击打开pycharm,选择create new project 选择create,后进入项目 右键项目根目录,选择new一个新的python file 随意命名一下 输入p 然后后面就会出现智能补全提示,此时轻敲一下tab,代码就写好了,非常的方便 右键执行一下代码,下面两个直接运行和debug运行都是可以的 小结 …

使用Python批量将PDF转Word

简述 以下全部代码无法完美对图片、表格等非文字形式的内容转化。要较好的效果需要使用光学字符分析等方法进行转化 我懒,不想将代码模块拆分出来写注释 除代码1中有详细注释外,剩下的代码仅在关键部分进行注释 代码1:小规模文件的转换 代码…

C++设计模式|创建型 1.单例模式

1.什么是单例模式? 单例模式的的核⼼思想在创建类对象的时候保证⼀个类只有⼀个实例,并提供⼀个全局访问点来访问这个实例。 只有⼀个实例的意思是,在整个应⽤程序中,只存在该类的⼀个实例对象,⽽不是创建多个相同类…

spring boot整合Redis监听数据变化

一、前言 Redis提供了数据变化的通知事件,可以实时监测key和value的变化,客户端可以通过订阅相关的channel来接收这些通知事件,然后做相应的自定义处理,详细的介绍可以参考官方文档Redis keyspace notifications | Docs 使用Red…

NLP问答系统:使用 Deepset SQUAD 和 SQuAD v2 度量评估

目录 一、说明 二、Deepset SQUAD是个啥? 三、问答系统(QA系统),QA系统在各行业的应用及基本原理 3.1 医疗 3.2 金融 3.3 顾客服务 3.4 教育 3.5 制造业 3.6 法律 3.7 媒体 3.8 政府 四、在不同行业使用QA系统的基本原理 五、关于…

uniapp uview里面的u-navbar结合u-sticky组件的使用

导航栏自定义加需要吸顶产生的问题 如上图直接使用并不能出现tab栏吸顶效果&#xff0c;那是由于u-sticky组件吸顶时与顶部的距离默认为0 那么做如下处理 <u-sticky :offset-top"navbarHeight()"><u-tabs :list"helpTabList" active-color"…

Excel/WPS超级处理器,提取汉字/字母/数字

在职场工作中&#xff0c;经常会遇到单元格中有汉字&#xff0c;数字&#xff0c;字母三者的自由组合&#xff0c;但往往只需要其中的一者&#xff0c;如何快速提取呢&#xff0c;超级处理器&#xff0c;提供了4个功能可选。 超级处理器下载与安装 1&#xff09;分离字符 将…

【MySQL】事务篇

SueWakeup 个人主页&#xff1a;SueWakeup 系列专栏&#xff1a;学习技术栈 个性签名&#xff1a;保留赤子之心也许是种幸运吧 目录 本系列专栏 1. 什么是事务 2. 事务的特征 原子性&#xff08;Atomicity&#xff09; 一致性&#xff08;Consistency&#xff09; 隔离性&…

【MYSQL】索引机制概述

由于MySQL是作为存储层部署在业务系统的最后端&#xff0c;所有的业务数据最终都要入库落盘&#xff0c;但随着一个项目在线上运行的时间越来越久&#xff0c;数据库中的数据量自然会越来越多&#xff0c;而数据体积出现增长后&#xff0c;当需要从表查询一些数据时&#xff0c…

Argus DBM 一款开源的数据库监控工具,无需部署Agent

开箱即用 无需部署Agent&#xff0c;开箱即用。我们使用JDBC直连您的数据库&#xff0c;输入IP端口账户密码即可。 全平台支持 Argus目前支持对Mysql, PostgreSQL, Oracle等数据库类型的监控&#xff0c;我们也会尽快适配其它数据库&#xff0c;致力于监控所有数据库。我们提…

数仓维度建模

维度建模 数仓建模方法1. 范式建模法&#xff08;Third Normal Form&#xff0c;3NF&#xff09;2. 维度建模法&#xff08;Dimensional Modeling&#xff09;3. 实体建模法&#xff08;Entity Modeling&#xff09; 维度建模1. 事实表事实表种类事务事实表周期快照事实表累计快…

淘宝扭蛋机小程序:扭出惊喜,乐享购物新体验

在快节奏的现代生活中&#xff0c;人们总是在寻找新鲜、有趣的娱乐方式。淘宝扭蛋机小程序应运而生&#xff0c;为您带来前所未有的购物与娱乐结合新体验。在这里&#xff0c;每一次的扭动都充满惊喜&#xff0c;每一次的点击都带来乐趣&#xff0c;让您在购物的同时&#xff0…

VRRP(虚拟路由冗余协议)详解

VRRP-------虚拟路由冗余协议 在一个网络中&#xff0c;要做为一个合格的网络首先就要具备几种冗余&#xff0c;增加网络的可靠性。 这几种冗余分别为&#xff1a;线路冗余&#xff0c;设备冗余&#xff0c;网关冗余&#xff0c;UPS冗余 VRRP该协议就是解决网关冗余的。在二层…

总分410+专业130+国防科技大学831信号与系统考研经验国防科大电子信息与通信工程,真题,大纲,参考书。

好几个学弟催着&#xff0c;总结一下我自己的复习经历&#xff0c;希望大家复习少走弯路&#xff0c;投入的复习正比换回分数。我专业课831信号与系统130&#xff08;感觉比估分要低&#xff0c;后面找Jenny老师讨论了自己拿不准的地方也没有错误&#xff0c;心里最近也这经常回…

基于kintex UltraScale XCKU060的双路QSFP+光纤PCIe 卡

基于kintex UltraScale XCKU060的双路QSFP光纤PCIe 卡 一、板卡概述 本板卡系我司自主研发&#xff0c;基于Xilinx UltraScale Kintex系列FPGA XCKU060-FFVA1156-2-I架构&#xff0c;支持PCIE Gen3 x8模式的高速信号处理板卡&#xff0c;搭配两路40G QSFP接口&#xff…