首页 > 其他分享 >一套集群实时在线扩容为两套集群方案

一套集群实时在线扩容为两套集群方案

时间:2024-03-27 10:58:24浏览次数:26  
标签:gs 实时 GAUSSDATA 集群 pg conf 两套 replicator

一套集群实时在线扩容为两套集群方案
解决问题:当一套集群 A 承担不了业务压力,需要在 A 集群在线情况下,扩出来一套与 A 集群完全一样的 B 集群,之后从业务层面控制 A 和 B 各自承担原 A 承担的一半业务压力。

1、配置 A 集群
1.1 A 集群创建用户并赋权
select from pg_user where ; --确定用户是否已存在,如果用户已经存在只需要赋SYSADMIN权限
CREATE USER replicator WITH PASSWORD "
";
alter role replicator replication;
alter role replicator SYSADMIN;
1.2 A 配置白名单
gs_guc reload -N all -I all -h "host replication all ..
.
/0 md5"
2、配置 B 集群
2.1 B 集群搭建好
gs_om -t status --detail 查看集群状态正常
2.2 B 集群配置白名单
gs_guc reload -N all -I all -h "host replication all .../0 md5"
2.3 B 集群停库
gs_om -t stop
2.4 B 集群备份配置文件
​ B 集群主节点备份 postgresql.conf pg_hba.conf 之后清空 B 集群 dn 目录下所有内容,包括 pg_xlog 等软连接下的数据

cp $GAUSSDATA/postgresql.conf ~/
cp $GAUSSDATA/pg_hba.conf ~/
rm -rf B集群主节点$GAUSSDATA下所有内容
2.5 B 集群主节准备 recover.conf
vi ~/recovery.conf

standby_mode = 'on'
recovery_target_timeline = 'latest'
primary_conninfo='host=A集群监听ip port=A集群端口 user=replicator password=****'
2.6 B 集群主节点上做备份
gs_basebackup -D [B集群dn目录] -h [A集群ip] -p [A 集群port] -U replicator

需要两次输入replicator用户密码

2.7 B 集群主节点恢复配置问题件
cp ~/postgresql.conf $GAUSSDATA/
cp ~/pg_hba.conf $GAUSSDATA/
cp ~/recovery.conf $GAUSSDATA/
2.8 B 集群主节点恢复原有的软连接形态
mv $GAUSSDATA/pg_xlog/* /app/ogxlog
ln -svf /app/ogxlog $GAUSSDATA/pg_xlog
2.9 B 集群主节点已 primary 方式拉起
gs_ctl start-D $GAUSSDATA -M primary
2.10 A 集群验证流复制效果
gs_ctl query -D $GAUSSDATA

A上只会显示B主节点的复制关系

select * from pg_replication_slots ;
select * from pg_stat_replication ;
SELECT pg_current_xlog_location() ;
2.11 删除 B 集群主节点 dn 目录下 recovery.conf 文件
mv $GAUSSDATA/dn1/recovery ../
2.12 B 集群备节点拉起
gs_ctl build -D $GAUSSDATA -M standby
2.13 AB 集群验证复制效果
gs_ctl query -D $GAUSSDATA

A上只会显示B主节点的复制关系

select * from pg_replication_slots ;
select * from pg_stat_replication ;
SELECT pg_current_xlog_location() ;
3 断开业务等数据集追齐

断开全量写业务之后,在lsn追齐后校验AB集群数据完整性校验?

AB集群全量表分别做checksum(回所有输入值的CHECKSUM值。使用该函数可以用来验证openGauss数据库(不支持openGauss之外的其他数据库)的备份恢复或者数据迁移操作前后表中的数据是否相同。在备份恢复或者数据迁移操作前后都需要用户通过手工执行SQL命令的方式获取执行结果,通过对比获取的执行结果判断操作前后表中的数据是否相同)
select checksum(A集群_表1::text) from A集群_表1;
select checksum(B集群_表1::text) from B集群_表1;
4 断开流复制关系
--A集群回收replicator sysadmin权限
revoke all privileges from replicator;
--B集群回收replicator sysadmin权限
revoke all privileges from replicator;
--核对replicator用户权限
select * from pg_roles where rolname = 'replicator';

重启B集群

gs_om -t restart
至此两套数据完全一致的库可交由业务层面做业务分离

标签:gs,实时,GAUSSDATA,集群,pg,conf,两套,replicator
From: https://www.cnblogs.com/helloopenGauss/p/18098428

相关文章

  • 使用K8S集群运行MongoDB7.0
    参考:https://hub.docker.com/_/mongo创建PVC创建PVC用于数据持久化#catmongodb-pvc.yamlapiVersion:v1kind:PersistentVolumeClaimmetadata:name:mongodb-pvcspec:accessModes:-ReadWriteOnceresources:requests:storage:22Gistorag......
  • 鸿蒙应用开发-录音并使用WebSocket实现实时语音识别
    功能介绍:录音并实时获取RAW的音频格式数据,利用WebSocket上传数据到服务器,并实时获取语音识别结果,参考文档使用AudioCapturer开发音频录制功能(ArkTS),更详细接口信息请查看接口文档:AudioCapturer8+和@ohos.net.webSocket(WebSocket连接)。知识点:熟悉使用AudioCapturer录......
  • Hadoop集群
    今天的一套题,顺便解决了之前的一套不太会的题目,快哉!分享一下hadoop取证过程中遇到的问题!1、拿到服务器镜像,第一时间去看历史命令,因为历史命令可以清楚地看到嫌疑人之前在计算机上干过什么事情,这里我们发现在data.E01这台机子上存在docker容器,容器里面很明显是一个hadoop的集群......
  • spark-submit 主要参数详细说明及Standalone集群最佳实践
    文章目录1.前言2.参数说明3.Standalone集群最佳实践1.前言部署提交应用到spark集群,可能会用到spark-submit工具,鉴于网上的博客质量残差不齐,且有很多完全是无效且错误的配置,没有搞明白诸如--total-executor-cores、--executor-cores、--num-executors的关系......
  • 实时数仓之Flink消费kafka消息队列数据入hbase
    一、流程架构图 二、开源框架及本版选择    本次项目中用到的相关服务有:hadoop、zookeeper、kafka、maxwell、hbase、phoenix、flink   三、服务部署完成后,开发Flink主程序  3.1结构图如下:      3.2代码详细内容  3.2.1pom文件<?xml......
  • RabbitMQ工厂虚拟机集群可靠性测试报告
    高可用集群架构节点域名操作系统RabbitMQ版本Erlang版本rabbitmq1.mfg.tp-link.comCentos7.93.8.2823.3-2rabbitmq2.mfg.tp-link.comCentos7.93.8.2823.3-2rabbitmq3.mfg.tp-link.comCentos7.93.8.2823.3-2目前Centos7.9通过直接RPM包部署安装的版......
  • 1、融合通信专业术语知识学习VOIP、SIP、350M集群等
    摘自百度:1、VoIP和SIP的概念:VoIP和SIP都是通信领域中的重要概念,它们各自具有独特的功能和应用场景,但也存在一定的联系。VoIP,即VoiceoverInternetProtocol,是一种语音通话技术,它利用互联网协议(IP)进行语音通话与多媒体会议。这种技术将模拟声音信号数字化,并以数据封包的形式在IP......
  • rocketmq集群消费模式和广播消费模式代码分享
    Rocketmq消费模式在ApacheRocketMQ有两种消费模式,分别是:集群消费模式:当使用集群消费模式时,RocketMQ认为任意一条消息只需要被消费组内的任意一个消费者处理即可。(默认的消费模式)广播消费模式:当使用广播消费模式时,RocketMQ会将每条消息推送给消费组所有的消费者,保证消......
  • 查看k8s中etcd集群的状态
    1.1使用脚本下载与服务端相同版本的 etcdctl 软件包[[email protected]]$pwd/home/shutang/k8s/etcd[[email protected]]$lsdownload.sh[[email protected]]$catdownload.sh#!/bin/bashETCD_VER=v3.4.3ETCD_DIR=etcd-downloadDOWNLOAD_UR......
  • elasticsearch 组件基于单机的多实例集群
    声明:本示例主要作为测试用,生产请慎重。最近公司突发奇想,想让我们搞个单机多实例的es的集群,看看其性能咋样。通常来说,es作为搜索引擎,应用场景不乏日志分析、网络安全、搜索引擎等,有时也会用作日志数据库使用,毕竟其出色的搜索查询性能,不是同等量级关系型数据库可以比拟的,主要......