首页 > 其他分享 >kingbaseES主备集群切换

kingbaseES主备集群切换

时间:2023-09-25 10:31:46浏览次数:51  
标签:主库 repmgr 备库 主备 node1 集群 node2 kingbaseES

测试环境

 

IP

VIP

OS

DB

主库

168.3.1.212

168.3.1.214

rhel7.6

KingbaseES V008R006C007B0012

备库

168.3.1.213

168.3.1.214

rhel7.6

KingbaseES V008R006C007B0012

SWITCH_OVER

switch_over指人为的计划性的切换.

1.确认节点信息

node1是主库,node2是备库.

kingbaseES主备集群切换_kingbaseES

2.确认主备是否有延迟

当前备库没有延迟

kingbaseES主备集群切换_fail over_02

3.在备库执行手动切换

kingbaseES主备集群切换_主备切换_03

4.验证

node1降级成备库,node2升级成主库

kingbaseES主备集群切换_主备切换_04

5.主备切换流程分析

node1和node2暂停repmgr进程.

node1执行checkpoint.

node1卸载vip.

node1停库.

确认node1上的数据库已经停止,并且node1上的vip已经卸载.

在node2上挂载vip.

在node2上运行promote命令,将node2升级为主库.node1升级为备库.

恢复node1和node2上的repmgr进程.

6.注意事项

如果集群中还有另外的备库(node3),那么在node2升级主库的命令需要增加参数如下:

repmgr standby switchover --siblings-follow

加入该参数,node2升级为主库后,会自动在node3执行repmgr standby follow命令,在主库中添加一个指向node3的复制槽.

FAIL_OVER

fail_voer指非人为计划性的切换,故障性的切换.

1.查看当前自动故障转移是否开启

kingbaseES主备集群切换_switch over_05

2.查看当前的主库信息

kingbaseES主备集群切换_switch over_06

3.关闭node2上的数据库

kingbaseES主备集群切换_switch over_07

recovery='standby'说明将主库关闭后,集群不会自动将主库拉起.但是备库关闭后,会自动将备库拉起.

kingbaseES主备集群切换_主备切换_08

4.一分钟后,再次查看集群各节点信息

可以看到node2关闭后,node1自动切换为主库了,此时的集群中有两个主库,node1启动,node2没启动.

kingbaseES主备集群切换_主备切换_09

5.一个集群中不可以有两个主库,此时需要将node2降级为备库,并重新加入集群

kingbaseES主备集群切换_switch over_10

6.验证

kingbaseES主备集群切换_主备切换_11

7.注意事项

当集群中有两个主库时,很可能这两个主库的数据已经不一样了,此时要确定好到底选择让哪个节点降级为备库,降级命令和参数如下:

repmgr node rejoin -h 168.3.1.212 -d esrep -U esrep -p 54321 --force-rewind --no-check-wal

该节点以备库的身份重新加入集群,主库为168.3.1.212,强制与主库的数据保持一致,并且忽略时间线和lsn检查.

参考文档

KingbaseES主备和读写分离集群使用手册 — KingbaseES产品手册

标签:主库,repmgr,备库,主备,node1,集群,node2,kingbaseES
From: https://blog.51cto.com/u_13482808/7593327

相关文章

  • kafka集群搭建
    应用场景削峰填谷:就像小米卖手机搞饥饿营销,打开他的官网首页就需要排队,把用户的请求存放到消息队列,后端的服务器过一段时间在去处理异步解耦:京东用户下订单,双十11的时候订单量很大,而后端数据库是没有那么大的处理能力,先把订单放在消息队列,然后让数据库链接消息队列kafka慢慢的把......
  • etcd 集群安装
    1.环境准备下载安装包:https://github.com/etcd-io/etcd/releases/这里下载的安装包为:etcd-v3.5.9-linux-amd64.tar.gz,即我们当前安装的etcd版本为:3.5.9这里有3个节点,分别为:10.23.0.21ec110.23.0.22ec210.23.0.23ec32.安装配置首先在所有机器安装etcd如下:tar-x......
  • kubepi加入集群,生成token
    防丢失https://www.cnblogs.com/Chinori/p/17506348.html kubectlcreatesakubepi-user--namespacekube-systemkubectlcreateclusterrolebindingkubepi-user--clusterrole=cluster-admin--serviceaccount=kube-system:kubepi-userkubectl-nkube-systemcreatetoke......
  • kingbaseES单机安装
    测试环境地址系统版本架构168.3.1.212rhel7.6v8.6单实例测试步骤关闭防火墙和selinuxsystemctlstopfirewalldsystemctldisablefirewalldsed-i's/SELINUX=enforcing/SELINUX=disabled/g'/etc/selinux/config修改系统内核cat>>/etc/sysctl.conf<<eofkernel.shmmax=......
  • kingbaseES读写分离集群搭建
    测试环境 IPVIPOSDB主库168.3.1.212168.3.1.214rhel7.6KingbaseESV008R006C007B0012备库168.3.1.213168.3.1.214rhel7.6KingbaseESV008R006C007B0012测试记录1.操作系统配置该步骤主库和备库都必须执行.systemctlstopfirewalldsystemctldisablefirewalldsed-i's/SEL......
  • ZooKeeper集群搭建
    ZooKeeper是一个分布式服务框架,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:命名服务、状态同步、配置中心、集群管理等。消费者模型0生产者启动1生产者注册至zookeeper(生产者的代码启动)2消费者启动并订阅频道(消费者往那个频道注册的就会到那个频道去......
  • Consul 集群安装
    1.介绍Consul是一款服务网络平台,主要实现服务注册、服务发现、服务网格、服务网关、安全网络以及配置管理等多类服务,非常适合做为微服务架构的底层网络平台。配置中心其实就是一个KV存储,我们如果做配置中心的话其实主要就是用KV存储部分,但是为了以后的可扩展性,我们可能会使......
  • JMeter 分布式集群远程压测及搭建常见问题
    1、JMeter可以在以下场景下使用分布式远程压测:性能测试:JMeter可以模拟大量用户并发访问,进行性能测试。当需要模拟成千上万的用户请求时,单台机器可能无法承受如此大的负载,此时可以使用分布式远程压测来将测试负载分发到多台机器上,提高测试的效率和准确性。稳定性测试:在一段时间......
  • Redis搭建集群架构
    使用docker搭建6.x版本以后的镜像docker支持部署集群模式,由于Redis要求集群至少要有三个主节点,因此本次测试搭建了三主三从的Redis集群。不基于Host网络模式配置docker-compose.yml文件version:"3"networks:redis-cluster:driver:bridgeipam:......
  • ceph(四)ceph集群管理、pg常见状态总结
    1.ceph常见管理命令总结1.1只显示存储池cephosdpoolls示例$cephosdpoollsdevice_health_metricsmypoolmyrbd1rbd-data11.2列出存储池并显示idcephosdlspools示例$cephosdlspools1device_health_metrics2mypool3myrbd14rbd-data11.3查看p......