【YashanDB知识库】YashanDB 单机一主一备自动切换

本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/6936687.html?templateId=1718516

一、概要:

YashanDB在一主多备环境中,可以基于RAFT协议实现主备自动切换,但RAFT要求多数存活,在一主一备配置下无法工作。而客户实际配置一主一备居多,即使一主多备,也可能同机房一主一备、其它备机在同城或异地的不同机房,在主库异常情况下,需要优先启用同机房备机。YashanDB通过yasom仲裁可实现一主一备自动切换。

二、环境部署

假定环境信息如下:

host

ip address

cluster name

begin-port

user/password

host1

192.168.18.81

yscluster

1688

ysinst1/Cod-2024

host2

192.168.18.82

host3

192.168.18.83

安装介质:/tmp/yashandb-23.1.4.101-linux-x86_64.tar.gz

部署架构图如下:

部署步骤:

1、在每台主机用root创建用户,设置密码

2、确认SSH可以互通,用到的端口(1688,1689,1675,1676)可以访问

3、上传安装介质,解压

4、生成安装配置文件

yasboot package se gen --cluster yscluster --ip 192.168.18.81,192.168.18.82,192.168.18.83 -u yscluster -p Cod-2024 --install-path /data/ysinst1/yasdb\_home --data-path /data/ysinst1/yasdb\_data --node 3

5、更改配置文件host.toml,将默认的OM指向host3

\[om\]

 hostid = "host0003"

 \[om.config\]

 LISTEN\_ADDR = "192.168.18.83:1675"

6、更改配置文件yscluster.toml,删除下面信息

\[\[group.node\]\]

 data\_path = "/data/ysinst1/yasdb\_data"

 hostid = "host0003"

 role = 2

 \[group.node.config\]

 LISTEN\_ADDR = "192.168.18.83:1688"

 REPLICATION\_ADDR = "192.168.18.83:1689"

 RUN\_LOG\_FILE\_PATH = "/data/ysinst1/yasdb\_home/yashandb/23.1.4.101/log/yscluster/db-1-3/run"

 RUN\_LOG\_LEVEL = "INFO"

 SLOW\_LOG\_FILE\_PATH = "/data/ysinst1/yasdb\_home/yashandb/23.1.4.101/log/yscluster/db-1-3/slow"

7、安装介质

yasboot package install -t hosts.toml -i /tmp/yashandb-23.1.4.101-linux-x86\_64.tar.gz

8、部署集群

yasboot cluster deploy -t yscluster.toml

三、配置

默认自动切换是关闭的,用下面命令可以查看配置

yasboot election config show -c yscluster

开启自动切换

yasboot election enable on -c yscluster

关闭自动切换

yasboot election enable off -c yscluster

显示自动切换相关事件

yasboot election event show -c yscluster

四、常见问题

1、为什么需要将OM部署在第三台服务器?

解答:一主一备,FAILOVER或SWITCHOVER命令由OM发起,如果OM与主库部署在同一台服务器,在服务器不可用的情况下,备机不能升级为主;如果部署在备库,一旦备库升级为主库,同样出现前面问题。

2、OM仲裁服务器的有哪些配置要求?

解答:可以比较低的配置,跟主,备库有可靠的网络连接即可。

3、同一台服务器可否作为多个主备集群的OM仲裁?

解答:可以,需要规划不同的用户(或集群名)及IP端口。

posted @   YashanDB  阅读(6)  评论(0编辑  收藏  举报
编辑推荐:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
点击右上角即可分享
微信分享提示