暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

【金仓数据库征文】_金仓 KES V9 读写分离集群:图形化部署实战解析

原创 jiayou 2025-06-21
361

金仓 KES V9 读写分离集群:图形化部署实战解析

一、概要

前文已详细介绍了金仓 KES V9 数据库集群一键式脚本部署要点。其实金仓KES V9也提供了图形化的集群部署工具(deploy),该工具实现图形化部署KES集群,相比于命令行方式更简洁明了。

本文通过一个测试环境的实例,全面展示KES自带的图形化集群部署工具(deploy)部署KES读写分离集群的具体步骤与流程,供大家参考。

二、KES 集群简介

1、集群组件介绍

  • repmgr:

用于执行管理任务的命令行工具

repmgr用于管理KingbaseRWC中的故障转移,可支持一主一备或一主多备,备库支持同步和异步模式。它提供了repmgr和repmgrd两个主要的工具。

  • 远程通信工具:

sys_securecmdd是集群中自带的工具,集群监控、管理集群时通过sys_securecmdd安全执行命令。sys_securecmd是客户端。

  • 守护进程:

每个数据库节点有一个repmgrd守护进程,主节点的repmgrd只监视本地数据库,备节点的repmgrd会同时监控本地数据库和主数据库。所有节点的状态信息存在repmgr.nodes表里,并通过流复制同步到所有备节点。

每个数据库节点都有一个kbha守护进程,其主要监控并守护repmgrd进程,同时对环境进行监控,包括:磁盘状态、信任网关状态。

kbha是KingbaseRWC集群的复制管理守护进程,Kbha启动repmgrd,并且执行KingbaseES的自动恢复。

三、环境规划

集群一主一备环境

节点名称

系统环境

数据库主要配置信息

说明

node05

OS redhat7.8

IP 192.168.126.20

KingbaseES V009R001C002B0014

data_directory=/home/kingbase/cluster/my_kes/kingbase/kingbase

port 54321

主节点

node06

OS redhat7.8

IP 192.168.126.21

KingbaseES V009R001C002B0014

data_directory=/home/kingbase/cluster/my_kes/kingbase/kingbase

port 54321

备节点

注意事项:

  • 时间同步:集群中所有节点必须要求做时钟同步,系统时间需保持一致(要求至少误差范围在2s以内);否则,可能会导致主库的WAL、快照等数据不能及时回收的影响。
  • 网络连通性:确保主备节点IP互通(ping/ssh验证)。
  • 备机环境检查:满足KES V9安装条件,建议提前配置好kingbase用户环境。参考《基于Linux系统的数据库软件安装软硬件环境要求》

四、集群架构

五、环境准备

1、主机环境准备

1.修改主机名和IP

#设置新的主机名

hostnamectl set-hostname node20

#查看主机名

hostnamectl status

2.配置主机名解析

#编辑/etc/hosts,添加如下内容

192.168.126.20 node05

192.168.126.21 node06

192.168.126.110 ntpdserver1

3.关闭防火墙

# 关闭防火墙
sudo systemctl stop firewalld
# 禁用防火墙
sudo systemctl disable firewalld
# 查看防火墙状态
sudo systemctl status firewalld

4.配置时间同步

5.修改sysctl.conf内核参数

所有节点服务器配置如下文件:

# vim /etc/sysctl.conf

添加以下内容:

fs.aio-max-nr= 1048576

fs.file-max= 6815744

kernel.shmall= 2097152

kernel.shmmax= 4294967295

kernel.shmmni= 4096

kernel.sem= 250 32000 100 128

net.ipv4.ip_local_port_range= 9000 65500

net.core.rmem_default= 262144

net.core.rmem_max= 4194304

net.core.wmem_default= 262144

net.core.wmem_max= 1048576

生效

sysctl -p

6.修改limits.conf资源使用参数

所有节点服务器配置如下文件:

# vim /etc/security/limits.conf

添加如下内容:

kingbase soft nofile 1000000

kingbase hard nofile 1000000

kingbase soft stack 32768

kingbase hard stack 32768

7.创建kingbase用户

不用root用户,创建kingbase用户进行部署,配置ssh互信和sudo免密

#创建用户&&设置密码

useradd kingbase && passwd kingbase

8.安装kingbaseES客户端程序

集群部署工具deploy(ClientTools\guitools\DeployTools目录下),用于远程部署集群节点服务。若无则安装KingbaseES客户端。

2、备机环境准备

主备机一致性检查

重复主节点步骤,确保环境一致。

六、集群创建

1、创建集群项目

首先打开deploy部署工具(位于ClientTools/guitools/DeployTools目录)

$ ./ClientTools/guitools/DeployTools/deploy

2、创建集群

右键点击新创建的集群项目my_kes,选择创建集群。

我们集群起名为kingbase,默认安装路径为/home/kingbase/cluster/my_kes/kingbase。

db&repmgr配置

DB配置包含基本设置和高级设置,首先进入基本配置界面。

基本设置里包含了关于数据库的主要参数如端口,兼容模式,system密码等。可以根据需求选择对应的参数。

数据库zip包,选择zip包中db.zip即可。

注意:

V9版本兼容模式默认oracle,也可以选择mysql或pg。

本次为新建集群,不用勾选使用已存在的data目录(此为存在单机KES实例扩容使用),只能默认配置到/home/kingbase/cluster/集群项目名称/集群名称/data下,本文为/home/kingbase/cluster/my_kes/kingbase/kingbase/data。

dbPassword默认为123456ab,本次修改为kingbase@123。

高级配置包含了DB配置和高可用集群管理软件配置

注意:

高可用集群管理软件配置部分可以配置虚拟服务IP地址及故障切换方式,并且根据业务需求可以选择服务可用优先或者数据保护优先选项。

3、创建集群节点

添加主节点

选择添加节点。

配置securecmd服务

注意确保ssh已启用,才能启用securecmd服务。

节点配置

注意:

点击获取网卡,需要选择合适的网卡并获取IP地址(本文的IP地址的网卡名称为ens33,所有节点网卡名称都需保持一致)。

点击“可选择”按钮,获取集群节点所需要的license文件路径。如果没有license文件,请设置为空,默认使用安装包内的临时license文件。

节点环境检测

点击检查按键,自动对节点环境检查并给出意见。

注意标红部分为需要调整部分,可以一键修改系统参数按键修改。确认无问题之后,重新检查,然后选择下一步。

列出了该节点的集群配置信息以及DB配置信息,确认无误,选择确定。否则上一步重新修改。

节点部署

进入主节点部署环节,点击部署按键进行部署。

节点部署成功,点击确定,可以看到部署过程。部署失败,也可以通过提示确认问题,并修改重新部署。

此时完成主节点部署工作。同理继续添加备节点完成备节点部署工作。

添加备节点(同上)

4、kingbase集群启动

提示启动集群成功!恭喜您完成了kingbase集群配置工作。

deploy工具不仅可以配置集群还可以进行很多集群相关的管理工作。比如:集群启停、暂停与恢复、主备切换、一键检查、修改集群配置及集群密码等。

七、集群管理

1、集群启停

2、暂停与恢复

可以进行集群节点维护。

3、主备切换

4、一键集群检查

可以查看也可以选择导出检查内容到指定目录

5、修改配置参数

选择新增

查询最新值

修改参数值

6、修改集群密码

7、节点日志查询

创建节点日志检查条件并保存。

查看节点日志。

八、配置用户kingbase 环境变量

除了deploy图形化集群部署工具可以进行集群管理,也可以用命令repmgr: replication management tool for Kingbase管理集群,操作前需要配置正确的kingbase用户环境变量如下:

vi ~/.bashrc

export KINGBASE_HOME=/home/kingbase/cluster/my_kes/kingbase/kingbase

export PATH=$KINGBASE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$KINGBASE_HOME/lib:$LD_LIBRARY_PATH

export KINGBASE_DATA=/home/kingbase/cluster/my_kes/kingbase/kingbase/data

export KINGBASE_PORT=54321

source ~/.bashrc

九、常见问题解决

1、启用securecmd服务失败:

若是提示启用securecmd服务失败,可以手工启动。

2、密码不一致导致部署失败:

确保所有节点root密码一致。

3、其他问题:

部分系统参数报错可以通过节点环境检查中《一键修改系统参数》解决。

十、总结

利用 Deploy 图形化集群部署工具来部署 KES 集群,具有诸多优势,不仅操作流程便捷,能显著缩短部署耗时,还大幅降低了部署的技术门槛,使得非专业人士也能较为轻松地完成集群搭建任务,极大地提升了部署效率,优化了用户部署体验。

相比于脚本一键部署方式,图形化部署缺乏灵活性比如:

  1. 安装路径固化
    • 默认安装路径不可修改(固定为 /home/kingbase/cluster/集群项目名称/集群名称/kingbase),缺乏灵活性。
  2. 数据库数据目录固化
    • 默认安装路径不可修改(固定为 /home/kingbase/cluster/集群项目名称/集群名称/kingbase/data),缺乏灵活性。
  3. 强制依赖 SecureCMD
    • 部署时必须启用 securecmd 服务,增加不必要的组件约束。
  4. 跨环境管理缺失
    • 不同主机部署的 Deploy 工具无法互相加载并管理集群。
最后修改时间:2025-06-23 10:15:52
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论