KES(KingBaseES)集群部署实战

news/2025/3/10 12:15:44/文章来源:https://www.cnblogs.com/guoxiaoyu/p/18655919

今天我们将探讨关于KES(KingBaseES)的集群部署方案。作为示例,我们将以读写分离(RWC)集群为例,快速在本地进行部署和安装,并深入了解KES的部署流程。在本章中,我们将采用Windows平台上的可视化部署工具来进行集群的安装和配置。然而,由于硬件资源有限,本次演示仅展示单节点的成功部署,其他节点的部署过程与此相同,重复操作将在此省略。对于有兴趣了解更多部署细节的朋友,可以参考官方文档,获取更详细的安装和配置步骤,官方文档地址如下:官方文档链接。

好了,接下来我们开始部署流程的详细演示。

环境准备

由于本次演示主要集中在本地环境,因此我选择在本地安装了Docker Desktop,并通过其来运行CentOS镜像,以便快速准备所需的虚拟机环境。当然,如果你手头有真实的物理机器或虚拟化平台,完全可以直接在这些设备上进行部署,而无需依赖Docker来模拟环境。首先,我们通过Docker Hub获取并拉取所需的CentOS镜像,操作步骤如下所示:

image

直接拉取官方的centos即可。但是会缺少很多必要的依赖。我们直接启动一下,但是需要暴露出来相应的端口。

docker run -itd -p 20601:22 -p 8890:8890 -p 54321:54321 -v /home/jason:/home/centos --name centos8 --privileged centos /usr/sbin/init

系统环境依赖

这个centos机器基本上什么都没有,所以我们需要安装一些必要依赖,命令如下:

#repos 目录
cd /etc/yum.repos.d/#修改centos 设置url地址
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*#手动缓存 不执行也可以
yum makecache#更新Yum 
yum update -y
#到这里 yum 命令可以正常执行了

执行如图所示:

image

> #安装 net-tools
> yum install net-tools.x86_64 -y
> 
> # 检查有无安装ssh
> yum list installed | grep openssh-server
> #安装 密码和ssh服务
> yum install passwd openssl openssh-server -y
> 
> # 使用vim 查看 /etc/ssh/sshd_config 文件
> #  PermitRootLogin 需要打卡
> # 监听端口:22端口 和启动的端口对应
> # 开启用户名密码验证关键字:PasswordAuthentication
> # 以上配置一般是默认的,最好查看一下
> 
> # 启动 sshd
> systemctl start sshd 
> # 配置开机启动
> systemctl enable sshd
> 
> # 配置密码  需要确认两次 且密码不可见
> passwd root
> # 到此 docker下安装centos就完成了,且配置了ssh访问

image

接下来,我们看下金仓对系统的要求。

金仓环境配置

具体操作可以查看官方文档:https://bbs.kingbase.com.cn/kingbase-doc/v9/install-updata/k-deploy/k-deploy-3.html

我把自己使用到的命令基本都已经附加上去了。如图所示:

image

这里注意下,我们的centos8机器使用命令查看时,是为:service crond status和官方文档有所不同。

集群机器

所以基础问题都已经解决完毕,我们现在需要把已经弄好的容器打包成基础镜像为了部署集群使用,否则,需要每个镜像都要单独配置,很费劲。如图所示:

image

用到的命令如下:

docker ps

docker commit id name

这样你就可以正常使用这个镜像了,以后直接复制即可。

部署工具

我使用的是windows的可视化工具,具体目录如图所示:

image

直接双击即可。页面如图所示:

image

创建集群

所有准备工作准备完毕后,我们开始创建集群,首先选择我们的db压缩包,他会自动上传解压。

image

开启开发者模式

因为有些界面是需要开发者模式才可以进行查看,所以我们打开一下,输入密码“rdjc12#$”,选择“正常”开启开发者模式。在开发者模式下点击“开发者模式”会提示到您已经在此模式下,如下图所示:

image

新增节点

我们开始添加第一个节点,这里注意下,使用该工具部署集群时,所有机器都不能有KES服务,必须是一台干净的机器。如果你以前已经有了KES机器在运行,那么请重新申请一台机器。以后切换成集群后,自己迁移数据即可。

image

这里上传文件后,我这里报错了,显示的是上传失败,起初我以为是文件夹没有创建,但是后来我看了一下,是有这个文件夹的。如图所示:

image

这个我自己是因为本地没有安装zip依赖导致的,无法解压,所以安装后即可正常。

yum install zip -y

在下一步之后,默认路径需要先创建目录,否则会报错。如图所示:

mkdir -p /home/kingbase/cluster/my_cluster/xiaoyu

image

接下来还有一个坑就是自己挖的,这里在创建主节点时一直失败。但是信息很有限,如图所示:

image

找到命令后,我自己开始切换到kingbase用户登录Linux机器,并执行了相关命令。我发现了这些问题,如图所示:

发现,我在使用如下命令是可以进去的:/home/kingbase/cluster/my_cluster/xiaoyu/kingbase/bin/ksql -Uesrep -d esrep

image

但是一旦加上-h IP地址就失败了:

image

但是在集群部署的时候,这个命令是脚本自己加上去的,我改不了还。

image

自己后来一顿排查所有可能发生的问题原因。发现是自己的坑。这里解释一下:

出现这个错误的原因比较特殊,通常情况下,按照我们平时的流程,是不可能发生这种情况的。因为我本地的 Windows 系统已经安装了KES,并且配置的端口号是 54321。在正常情况下,当我在 Docker 中启动 Linux 容器时,我同样暴露了相同的端口号 54321。由于端口冲突,部署工具在尝试连接到 Docker 容器的数据库时,错误地连接到了本地 Windows 系统上的数据库。由于 Windows 上的数据库并没有启用免密登录配置,所以导致了连接失败的情况。

当我手动关闭了 Windows 上的 KES 服务后,部署工具可以顺利连接到 Docker 容器中的数据库,并且部署过程得以正常完成。可以参考下图中所示的配置和环境状态:

image

终于部署成功了,剩下的就是以此类推新增节点部署即可。

总结

在本章中,我们详细探讨了KES(KingBaseES)集群部署的整个流程,以读写分离(RWC)集群为例,通过本地环境的Docker部署和Windows平台的可视化工具进行配置与安装。虽然本次演示仅限于单节点部署,但整个过程为您提供了清晰的操作步骤和必要的系统配置。我们也深入分析了在集群部署过程中可能遇到的一些常见问题及解决方案,例如端口冲突问题,确保了部署能够顺利进行。

虽然演示的环境受限于硬件资源,但实际部署时,用户可以根据需要扩展节点,搭建更为复杂的集群结构。通过官方文档和详细的步骤说明,大家可以更好地理解和实施KES集群的部署。希望通过本章内容,能帮助读者更顺利地搭建和管理自己的KingBaseES数据库集群,为日后的高效数据管理和运维奠定基础。


我是努力的小雨,一个正经的 Java 东北服务端开发,整天琢磨着 AI 技术这块儿的奥秘。特爱跟人交流技术,喜欢把自己的心得和大家分享。还当上了腾讯云创作之星,阿里云专家博主,华为云云享专家,掘金优秀作者。各种征文、开源比赛的牌子也拿了。

💡 想把我在技术路上走过的弯路和经验全都分享出来,给你们的学习和成长带来点启发,帮一把。

🌟 欢迎关注努力的小雨,咱一块儿进步!🌟

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/865895.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

测试图片功能

博客园的链接:123图床的链接:

JMeter-临界部分控制器-控制请求按顺序执行

一、路径: 二、操作: 把请求按顺序放到临界控制器下,请求会按顺序执行 三、执行效果

ArmSoM RK3588/RK3576核心板,Rockchip摄像头使用

1. Camera 简介​ArmSoM系列产品使用的是mipi-csi接口的摄像头ArmSoM-Sige7支持双摄同显: 2. RK3588硬件通路框图​rk3588支持2个isp硬件,每个isp设备可虚拟出多个虚拟节点,软件上通过回读的方式,依次从ddr读取每一路的图像数据进isp处理。对于多摄方案,建议将数据流平均分…

nifi下载Win版本安装成功运行_network

一、Apache nifi相关网址 https://nifi.apache.org/ 官网 https://nifi.apache.org/docs.html 文档 https://nifi.apache.org/download.html 下载页## 二、Apache nifi本地安装 进入https://nifi.apache.org/download.html解压到本地 bin目录下有启动和停止的…

策略梯度AC算法 - CartPole环境, 使用RNN作为策略网络

本文给出了使用RNN作为策略网络的AC算法代码示例,并在CartPole环境跑出结果。参考资料:Vanila Policy Gradient with a Recurrent Neural Network Policy – Abhishek Mishra – Artificial Intelligence researcher 动手学强化学习-HandsOnRL,本文中展示的代码都是基于《动…

Harbor配置https

harbor是不附带任何证书的,因此默认情况下使用http来进行访问 K8S在使用harbor作为私有仓库时或生产环境下强烈建议使用https 生成证书 生产环境下,需要从CA获取证书,测试或者开发可以使用OpenSSL自己生成证书 生成私钥 # 创建证书的存储目录 mkdir /home/ssl cd /home/sslo…

vue3引入ts以及js文件使用案例

ts:先确保项目正确集成TypeScript 添加tsconfig.json文件{"compilerOptions": {"target": "esnext","module": "esnext","strict": true,"jsx": "preserve","importHelpers": true…

coenzyme A 辅酶A

coenzyme A 化学式 C21H36N7O16P3S 分子量 767.535密度1.1335 g/cm3 (20C) 熔点 -5C 沸点 146 - 147是一种辅酶,值得注意的是其在合成和氧化脂肪酸的角色,和在三羧酸循环中氧化丙酮酸。

【每日一题】20250108

路的尽头什么都没有。但在路上遇见的不起眼的瞬间和记忆,最终会成就我们。【每日一题】一物体作匀加速直线运动,通过一段位移 \(\Delta x\) 所用的时间为 \(t_1\),紧接着通过下一段位移 \(\Delta x\) 所用时间为 \(t_2\).则物体运动的加速度为 A. \(\frac {2\Delta x( t_{1…

JS-21 字符串方法_charAt()

charAt方法返回指定位置的字符,参数是从0开始编号的var s =new String (zifuchuan)s.charAt(1)//"t"s.charAt(s.length-1)//"n" 如果参数为负数,或大于等于字符串的长度,charAt返回空字符串zifuchuan.charAt(-1)//""zifuchuan.charAt(9)//&…

应用质数和模算法

生成RSA加密密钥 密钥生成时先选择两个素数p和q,计算他们的乘积n=p*q,RSA的安全性是基于从n推导出p和q是很困难的,p和q越大,在给定n推到p和q的值越难,简单逻辑如下: 1、选择两个大的素数 2、计算n和phi(欧拉商函数) 3、选择一个公共指数e 4、计算私有指数d 5、使用公钥…

ASE100N03-ASEMI中低压N沟道MOS管ASE100N03

ASE100N03-ASEMI中低压N沟道MOS管ASE100N03编辑:ll ASE100N03-ASEMI中低压N沟道MOS管ASE100N03 型号:ASE100N03 品牌:ASEMI 封装:TO-252 最大漏源电流:100A 漏源击穿电压:30V 批号:最新 RDS(ON)Max:5.0mΩ 引脚数量:3 沟道类型:N沟道MOS管 芯片尺寸:MIL 漏电流: …