【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端口。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比