国产数据库盘点-亚信安慧AntDB高可用容灾环境部署

AntDB 数据库采用复制组多副本架构,保证数据库的高可用性。同时,AntDB 支持单机、机房和城市级别的容灾,提供双中心部署方案。用户可根据机房配置和容灾需求,选择合适的方案进行部署。

本章所述的双中心集群结构如下:

主中心:一主两备

备中心:一主两备

两者关系:备中心的主是主中心主节点的异步备

主中心部署

参考【高可用集群模式部署】搭建一主两备高可用集群。

搭建完成,集群如下所示:

adbhamgrctl -c /etc/adbhamgr/adbhamgr_antdbcluster.yaml  list

+ Cluster: antdbcluster (7308609900027656685) ---+---------+----+-----------+
| Member     | Host               | Role         | State   | TL | Lag in MB |
+------------+--------------------+--------------+---------+----+-----------+
| adbhamgr-1 | 10.21.10.222:6655  | Leader       | running | 2  |           |
| adbhamgr-2 | 10.21.10.223:6655  | Sync Standby | running | 2  |         0 |
| adbhamgr-3 | 10.21.10.224:6655  | Replica      | running | 2  |         0 |
+------------+--------------------+--------------+---------+----+-----------+

备中心部署

一键式部署

参考【高可用集群模式部署】,搭建一主两备高可用集群,方法和搭建主中心一致。

例如,集群如下所示,此时主备中心是两个独立的集群。

adbhamgrctl -c /etc/adbhamgr/adbhamgr_antdbcluster.yaml  list

  + Cluster: antdbcluster (7234420149554224469) ---+---------+----+-----------+
  |  Member    | Host               | Role         | State   | TL | Lag in MB |
  +------------+--------------------+--------------+---------+----+-----------+
  | adbhamgr-1 | 10.1.206.202:55551 | Leader       | running |  2 |           |
  | adbhamgr-2 | 10.1.206.213:55551 | Sync Standby | running |  2 |         0 |
  | adbhamgr-3 | 10.1.206.226:55551 | Replica      | running |  2 |         0 |
  +------------+--------------------+--------------+---------+----+-----------+
停止备中心

停止 adbhamgr 服务(所有节点都要执行):

sudo systemctl stop adbhamgr

使用 adbhamgr 的 remove 命令清理集群数据(一个节点执行即可):

# remove后跟的参数“antdbcluster”为集群名称
[antdb@localhost ~]$ adbhamgrctl -c /etc/adbhamgr/adbhamgr_antdbcluster.yaml remove antdbcluster
+ Cluster: antdbcluster (7240007647780694395) -------+----+-----------+
| Member    | Host               | Role    | State   | TL | Lag in MB |
+-----------+--------------------+---------+---------+----+-----------+
| adbhamgr-3 | 10.1.206.226:55551 | Replica | stopped |    |   unknown |
+-----------+--------------------+---------+---------+----+-----------+
Please confirm the cluster name to remove: antdbcluster
You are about to remove all information in DCS for antdbcluster, please type: "Yes I am aware": Yes I am aware
重建备中心

步骤一:修改主中心的 hba 文件

重建备中心需要执行 adb_basebackup 命令,因此需要配置 hba,从而允许备机通过流复制连接到主节点。

1、修改主节点的 pg_hba.conf 文件,例如:

host    replication     all             0.0.0.0/0            trust

2、reload 主节点,使配置生效;

adb_ctl reload -D /home/antdb/data

步骤二:主中心的主节点创建复制槽(可选)

# 记录下创建的复制槽名称为adbhamgr(自定义)
select pg_create_physical_replication_slot('adbhamgr', true);

步骤三:重建备中心(每个节点都执行,操作一样)

下面以数据目录 /home/antdb/data/ 为例。

1、清理数据目录;

rm -rf /home/antdb/data/*

2、修改 adbhamgr 的配置文件;

# 备中心adbhamgr的yml配置文件中bootstrap.dcs下添加 standby_cluster 参数块,如下:
bootstrap:
  # this section will be written into adbdcs:/<namespace>/<scope>/config after initializing new cluster
  # and all other cluster members will use it as a `global configuration`
  dcs:
    ……
    standby_cluster:               # 添加standby_cluster参数设置,注意对其格式
      host: 10.21.10.222           # 主中心某个节点ip, 执行adb_basebackup和建立流复制的远程节点
      port: 6655                   # 远程节点的端口
      primart_slot_name: adbhamgr  # 建立流复制的复制槽,如果使用,需要手动在主中心建立相应的复制槽。(步骤二创建)
      create_replica_methods:      # 建立基础备份使用的方法,一般为adb_basebackup
        - basebackup

注意:host设置的节点与primart_slot_name所在的节点要保持一致。
     这里建议设置为主中心的主节点,与上述步骤一、二都是以主中心的主节点操作保持一致。

3、最后,启动各节点的 adbhamgr;

# 启动各节点的adbhamgr:
sudo systemctl start adbhamgr

# 成功后查看集群状态,备中心的主节点为Standby Leader,其余节点都是Replica
[antdb@localhost ~]$ adbhamgrctl -c /etc/adbhamgr/adbhamgr_antdbcluster.yaml list
+ Cluster: antdbcluster (7240007647780694395) ----+---------+----+-----------+
| Member    | Host               | Role           | State   | TL | Lag in MB |
+-----------+--------------------+----------------+---------+----+-----------+
| adbhamgr-1 | 10.1.206.202:55551 | Standby Leader | running |  5 |           |
| adbhamgr-2 | 10.1.206.213:55551 | Replica        | running |  5 |         0 |
| adbhamgr-3 | 10.1.206.226:55551 | Replica        | running |  5 |         0 |
+-----------+--------------------+----------------+---------+----+-----------+

# 查看备中心主节点的流复制,可以看到备中心的主节点的流复制源是主中心的主节点
[antdb@localhost ~]$ adb -d antdb -p 55551 -h 10.21.10.222
psql (13.3)
Type "help" for help.
antdb=# \x
Expanded display is on.
antdb=# select * from pg_stat_wal_receiver;
-[ RECORD 1 ]---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
pid                   | 3565881
status                | streaming
receive_start_lsn     | 0/8000000
receive_start_tli     | 5
written_lsn           | 0/8000148
flushed_lsn           | 0/8000000
received_tli          | 5
last_msg_send_time    | 2023-06-05 14:46:43.939936+08
last_msg_receipt_time | 2023-06-05 14:45:14.263009+08
latest_end_lsn        | 0/8000148
latest_end_time       | 2023-06-05 14:02:36.843889+08
slot_name             |
sender_host           | 10.21.10.211
sender_port           | 55551
conninfo              | user=replicator passfile=/data/antdb/.pgpass channel_binding=prefer dbname=replication host=10.21.10.211 port=55551 application_name=adbhamgr-1 fallback_application_name=antdbcluster sslmode=prefer sslcompression=0 ssl_min_protocol_version=TLSv1.2 gssencmode=prefer krbsrvname=postgres target_session_attrs=any


# 查看备中心备节点的流复制,可以看到备中心的备节点的流复制源是备中心的主节点
antdb=# select * from pg_stat_wal_receiver;
-[ RECORD 1 ]---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
pid                   | 866301
status                | streaming
receive_start_lsn     | 0/8000000
receive_start_tli     | 5
written_lsn           | 0/8000148
flushed_lsn           | 0/8000000
received_tli          | 5
last_msg_send_time    | 2023-06-05 14:46:38.010682+08
last_msg_receipt_time | 2023-06-05 14:46:37.350915+08
latest_end_lsn        | 0/8000148
latest_end_time       | 2023-06-05 14:01:34.527452+08
slot_name             | adbhamgr_2
sender_host           | 10.1.206.202
sender_port           | 55551
conninfo              | user=replicator passfile=/data/antdb/.pgpass channel_binding=prefer dbname=replication host=10.1.206.202 port=55551 application_name=adbhamgr-2 fallback_application_name=antdbcluster sslmode=prefer sslcompression=0 ssl_min_protocol_version=TLSv1.2 gssencmode=prefer krbsrvname=postgres target_session_attrs=any

e=adbhamgr-2 fallback_application_name=antdbcluster sslmode=prefer sslcompression=0 ssl_min_protocol_version=TLSv1.2 gssencmode=prefer krbsrvname=postgres target_session_attrs=any


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

在虚幻引擎中实现Camera Shake 相机抖动/震屏效果

在虚幻引擎游戏中创建相机抖动有时能让画面更加高级 , 比如 遇到大型的Boss , 出现一些炫酷的特效 加一些短而快的 Camera Shake 能达到很好的效果 , 为玩家提供沉浸感 创建Camera Shake 调整Shake参数 到第三人称或第一人称蓝图 调用Camera Shake Radius值越大 晃动越强

拍卖的价格怎么定?聊聊转转拍卖场的起拍定价算法演变

价格策略、定价调价算法是诸多中大规模电商不可或缺的一项能力&#xff0c;涉及到精准定价、智能调价、智能发券、成本控制等一系列智能运营场景&#xff0c;尤其对于二手行业来说&#xff0c;定价能力更是面临诸多挑战&#xff0c;却又不可或缺。本文将旨在介绍转转 TOB 拍卖场…

kibana开启访问登录认证

编辑es配置文件&#xff0c;添加以下内容开启es认证 vim /etc/elasticsearch/elasticsearch.yml http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-headers: Authorization xpack.security.enabled: true xpack.security.transport.ssl.enable…

解释器模式原理剖析和Spring中的应用

解释器模式原理剖析和Spring中的应用 解释器模式 是一种行为型设计模式&#xff0c;它定义了一种语言的文法表示&#xff0c;并提供了一个解释器来处理该文法的表达式。解释器模式可以用于构建语法解释器&#xff0c;例如计算器、简单编程语言的解释器等。 核心思想&#xff1a…

Java框架学习(mybatis)(01)

简介&#xff1a;以本片记录在尚硅谷学习ssm-mybatis时遇到的小知识 详情移步&#xff1a;想参考的朋友建议全部打开相互配合学习&#xff01; 官方文档&#xff1a; MyBatis中文网https://mybatis.net.cn/index.html 学习视频&#xff1a; 067-mybatis-介绍和对比_哔哩哔…

人工智能时代,程序员如何保持核心竞争力?

引言 随着AIGC&#xff08;如ChatGPT、Midjourney、Claude等&#xff09;大语言模型接二连三的涌现&#xff0c;AI辅助编程工具日益普及&#xff0c;程序员的工作方式正在发生深刻变革。有人担心AI可能取代部分编程工作&#xff0c;也有人认为AI是提高效率的得力助手。面对这一…

一天面了8个Java后端,他们竟然还在背5年前的八股文!

今天面了8个Java候选人&#xff0c;在面试中我发现他们还停留在面试背八股文的阶段&#xff0c;5年前面试背八股文没问题&#xff0c;随着市场竞争越来越激烈&#xff0c;再问普通的Java八股文已经没有意义了&#xff0c;因为考察不出来获选人的真实实力&#xff01; 现在面试…

cpu路、核、线程、主频、缓存

路&#xff1a;主板插口实际插入的 CPU 个数&#xff0c;也可以理解为主板上支持的CPU的数量。每个CPU插槽可以插入一个物理处理器芯片。例如&#xff0c;一台服务器可能有2路或4路插槽&#xff0c;这意味着它最多可以安装2个或4个物理处理器。 核&#xff1a;单块 CPU 上面能…

C++ 异步编程中:future与promise、packaged_task、async

原文链接&#xff1a;C 异步编程之future与promise、async、packaged_task_std::promise和std::future异步发送-CSDN博客 1、std::future std::future类模板来关联线程运行的函数和函数的返回结果&#xff0c;这种获取结果的方式是异步的 std::future 通常由某个 Provider 创建…

unity 打包安卓 RenderTexture显示红色

1、ColorFarmat&#xff1a; 每个图形卡可能并不支持跨格式的所有用法。使用 SystemInfo.IsFormatSupported 可以检查图形卡支持的用法。 None未指定格式。R8G8B8A8_UNorm一种四分量、32 位无符号归一化格式&#xff0c;在字节 0 中具有 8 位 R 分量&#xff0c;在字节 1 中具…

Java面试篇基础部分-ReentrantLock详解(二)

Lock 接口的主要方法 void lock():给对象加锁,如果锁没有被其他线程使用,则当前线程获取到这个锁;如果锁正在被其他线程持有,则将禁用当前线程,直到当前线程获取到锁。boolean tryLock():试图给对象进行加锁操作,如果锁没有被其他线程使用,则将获取到这个锁并且返回tr…

Linux ubuntu debian系统安装UFW防火墙图形化工具GUFW

GUFW是UFW的图形化前端&#xff0c;可以通过以下命令安装&#xff1a; sudo apt install gufw安装成功后&#xff0c;可以通过应用程序菜单启动GUFW&#xff0c;在图形界面中&#xff0c;可以方便地添加、修改和删除规则&#xff0c;查看状态和日志。

【入门01】arcgis api 4.x 创建地图、添加图层、添加指北针、比例尺、图例、卷帘、图层控制、家控件(附完整源码)

1.效果 2.代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title></title><link rel"s…

CDGA|数据治理:策略与价值的深度融合

在当今这个数据驱动的时代&#xff0c;企业数据治理的重要性日益凸显。数据不仅是企业的核心资产&#xff0c;更是驱动业务决策、优化运营流程、创新产品服务的关键力量。然而&#xff0c;要让数据治理真正发挥价值&#xff0c;企业需要采取一系列策略来确保数据的准确性、完整…

C++之二叉搜索

1.二叉搜索树的概念 二叉搜索树又称为二叉排序树&#xff0c;它有以下的特点。 1.如果它的左子树不为空&#xff0c;则左子树上所以结点的值都小于等于根结点的值 2.如果它的右子树不为空&#xff0c;则右子树上所有结点都大于等于根结点的值 3.它的左右子树也分别为二叉搜…

【C++笔试强训】如何成为算法糕手Day3

​ 学习编程就得循环渐进&#xff0c;扎实基础&#xff0c;勿在浮沙筑高台 循环渐进Forward-CSDN博客 目录 循环渐进Forward-CSDN博客 第一题&#xff1a;除2&#xff01; 第二题&#xff1a;dd爱框框 第三题&#xff1a;简写单词 第一题&#xff1a;除2&#xff01; 牛客网…

数据保护从现在开始:如何抵御 .[RestoreBackup@cock.li].SRC 勒索病毒

导言 勒索病毒是一种不断演变的网络威胁&#xff0c;.[RestoreBackupcock.li].SRC、[chewbaccacock.li].SRC勒索病毒便是其中一种新型的攻击手段。该病毒通过加密用户文件并要求支付赎金来恢复访问&#xff0c;给个人和企业带来了严重的安全风险和经济损失。本文91数据恢复将探…

25 基于51单片机的温度电流电压检测系统(压力、电压、温度、电流、LCD1602)

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机&#xff0c;通过DS18B20检测温度&#xff0c;滑动变阻器连接数模转换器模拟电流、电压&#xff0c;通过LCD1602显示&#xff0c;程序里设置温度阈值为40&#xff0c;电流阈值为60&am…

新版torch_geometric不存在uniform、maybe_num_nodes函数问题(Prune4ED论文报错解决)

这是在复现论文“Towards accurate subgraph similarity computation via neural graph pruning”时遇到的报错。 ImportError: cannot import name uniform from torch_geometric.nn.pool.topk_pool 一、报错原因 论文作者使用的是2.1.0版本的torch_geometric。而我安装了2.…

[vulnhub] Jarbas-Jenkins

靶机链接 https://www.vulnhub.com/entry/jarbas-1,232/ 主机发现端口扫描 扫描网段存活主机&#xff0c;因为主机是我最后添加的&#xff0c;所以靶机地址是135的 nmap -sP 192.168.75.0/24 // Starting Nmap 7.93 ( https://nmap.org ) at 2024-09-21 14:03 CST Nmap scan…