概念介绍
金仓读写分离集群是基于硬件、软件系统不可靠,一定会有故障的假设设计的,是基于单台计算机无足够能力处理大量数据设计的。 只要数据副本数量大于一,无论是硬件的升级、还是软件的迁移、单机的宕机或软件错误都无需停止对外服务,极大的保证系统的正常运行,并且降低了系统管理员和运维人员的工作量。 金仓数据库管理系统(KingbaseES) 人大金仓数据库管理系统,本文指代单机服务版本,下文也被称作单机版。其成员可能包括数据节点(data node)、备份节点(repo node)。 金仓数据守护集群软件(Kingbase Data Watch) 金仓数据守护集群软件用于构建基于流复制技术实现数据同步的主备数据库集群。该类集群由主库、备库和守护进程组成,其中主库提供数据库读写服务,备库作为主库的备份,守护进程负责检查各库及环境状态并实现自动故障转移。基于该软件,用户可构建同机房内、同城、异地的容灾及可用性方案,确保各种故障及灾害时的用户数据及数据库服务安全与连续。 金仓数据库读写分离集群软件(KingbaseRWC) 金仓数据库读写分离集群软件在金仓数据守护集群软件的基础上增加了对应用透明的读写负载均衡能力。相比数据守护集群,该类集群中所有备库均可对外提供查询能力,从而减轻了主库的读负载压力,可实现更高的事务吞吐率;该软件支持在多个备库间进行读负载均衡。其成员可能包括主节点(primary node)、备节点(standby node)、辅助节点(witness node)、备份节点(repo node)。
主备的同步流程
流程说明
- 数据库Walwriter把产生的WAL日志写入磁盘;
- WAL日志写入磁盘后,由Walsender进程将新增的日志读取出来并通过流的形式发送给备库;
- 备库Walreceiver进程将接收到的WAL日志写入本地WAL段文件;
- 备库Startup进程读取WAL日志进行重放,完成数据同步。
集群组件与功能介绍
repmgr
repmgr用于管理KingbaseRWC中的故障转移,可支持一主一备或一主多备,备库支持同步和异步模式。它提供了repmgr和repmgrd两个主要的工具。
repmgr
用于执行管理任务的命令行工具,例如:设置备库;将备库提升为主库;主备切换;显示集群状态。
repmgrd
主动监视集群各节点状态并执行某些任务的守护进程,主要包括:监视和记录复制性能;通过检测主库的故障并提升最合适的备库进行故障转移。
kbha
kbha是KingbaseRWC集群的复制管理守护进程。Kbha启动repmgrd,并且执行KingbaseES的自动恢复。
环境规划
节点名称 | 系统环境 | 主机名 | 数据库主要配置信息 | 说明 |
---|---|---|---|---|
node1 | centos 7.9 IP: 192.168.1.111 | kingbase_primary | data_directory=/data port 54321 | 单节点,扩容后为:主节点 |
node2 | centos 7.9 IP: 192.168.1.112 | kingbase_standby | data_directory=/data port 54321 | 备节点 |
单节点安装参考文档
https://www.modb.pro/db/1892861696549597184
扩容步骤
配置/etc/hosts
cat >> /etc/hosts <<-EOF kingbase_primary 192.168.1.111 kingbase_standby 192.168.1.112 EOF
安装依赖包
yum -y install lsof net-tools zip unzip <--所有节点执行
禁用kingbased开机自启动服务
#查看kingbased服务是否已设为开机自启
systemctl list-dependencies |grep kingbased
chkconfig --list |grep kingbased
# 禁用开机启动服务
systemctl disable kingbased
关闭数据库
su - kingbase
sys_ctl stop -D /data
启动数据库部署工具
su - kingbase
### 配置本地图形界面IP
export DISPLAY=192.168.1.2:0.0
export LANG=zh_CN.UTF-8
/KingbaseES/V9/ClientTools/guitools/DeployTools/deploy <--启动数据库部署工具
创建项目
dbpassword: 需要输入,数据库安装时system密码
新增节点
修复所有检查报错
standby节点添加请参考 primary节点
常见问题
问题一、上传securecmd失败
解决方案:需要用unzip解压,安装unzip包后,问题解决
问题二、数据库部署工具添加主节点报错
创建集群时,选择已存在/data目录”,上面的dbpassword就需要修改为 数据库之前安装的system密码,否则就需要手工将密码修改为默认密码:12345678ab;
alter user system with password ‘12345678ab’;
问题三、invalid owner or invalid permission
手工修改 数据库目录仅限:
chmod -R 750 /data
参考资料
https://mp.weixin.qq.com/s/Lam25tD6TAX1x7QhiruD4Q https://bbs.kingbase.com.cn/docHtml?recId=d16e9a1be637c8fe4644c2c82fe16444&url=aHR0cHM6Ly9iYnMua2luZ2Jhc2UuY29tLmNuL2tpbmdiYXNlLWRvYy92OS9hZG1pbi9nZW5lcmFsL2luZGV4Lmh0bWw https://www.modb.pro/db/1894574855450800128
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。