IT评测·应用市场-qidao123.com技术社区

标题: KES(KingBaseES)集群部署实战 [打印本页]

作者: 盛世宏图    时间: 2025-1-8 13:51
标题: KES(KingBaseES)集群部署实战
今天我们将探讨关于KES(KingBaseES)的集群部署方案。作为示例,我们将以读写分离(RWC)集群为例,快速在本地进行部署和安装,并深入相识KES的部署流程。在本章中,我们将采用Windows平台上的可视化部署工具来进行集群的安装和设置。然而,由于硬件资源有限,本次演示仅展示单节点的成功部署,其他节点的部署过程与此相同,重复操作将在此省略。对于有兴趣相识更多部署细节的朋侪,可以参考官方文档,获取更详细的安装和设置步骤,官方文档地址如下:官方文档链接
好了,接下来我们开始部署流程的详细演示。
环境预备

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

直接拉取官方的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机器基本上什么都没有,所以我们需要安装一些必要依赖,命令如下:
  1. #repos 目录
  2. cd /etc/yum.repos.d/
  3. #修改centos 设置url地址
  4. sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
  5. sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
  6. #手动缓存 不执行也可以
  7. yum makecache
  8. #更新Yum
  9. yum update -y
  10. #到这里 yum 命令可以正常执行了
复制代码
实行如图所示:
  1. > #安装 net-tools
  2. > yum install net-tools.x86_64 -y
  3. >
  4. > # 检查有无安装ssh
  5. > yum list installed | grep openssh-server
  6. > #安装 密码和ssh服务
  7. > yum install passwd openssl openssh-server -y
  8. >
  9. > # 使用vim 查看 /etc/ssh/sshd_config 文件
  10. > #  PermitRootLogin 需要打卡
  11. > # 监听端口:22端口 和启动的端口对应
  12. > # 开启用户名密码验证关键字:PasswordAuthentication
  13. > # 以上配置一般是默认的,最好查看一下
  14. >
  15. > # 启动 sshd
  16. > systemctl start sshd
  17. > # 配置开机启动
  18. > systemctl enable sshd
  19. >
  20. > # 配置密码  需要确认两次 且密码不可见
  21. > passwd root
  22. > # 到此 docker下安装centos就完成了,且配置了ssh访问
复制代码

接下来,我们看下金仓对体系的要求。
金仓环境设置

具体操作可以查看官方文档:https://bbs.kingbase.com.cn/kingbase-doc/v9/install-updata/k-deploy/k-deploy-3.html
我把自己利用到的命令基本都已经附加上去了。如图所示:

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

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

用到的命令如下:
docker ps
docker commit  id name
这样你就可以正常利用这个镜像了,以后直接复制即可。
部署工具

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

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

创建集群

全部预备工作预备完毕后,我们开始创建集群,起首选择我们的db压缩包,他会自动上传解压。

开启开辟者模式

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

新增节点

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

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

这个我自己是由于本地没有安装zip依赖导致的,无法解压,所以安装后即可正常。
yum install zip -y
在下一步之后,默认路径需要先创建目录,否则会报错。如图所示:
mkdir -p /home/kingbase/cluster/my_cluster/xiaoyu

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

找到命令后,我自己开始切换到kingbase用户登录Linux机器,并实行了相关命令。我发现了这些标题,如图所示:
发现,我在利用如下命令是可以进去的:/home/kingbase/cluster/my_cluster/xiaoyu/kingbase/bin/ksql -Uesrep -d esrep

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

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

自己后来一顿排查全部可能发生的标题原因。发现是自己的坑。这里表明一下:
出现这个错误的原因比较特殊,通常情况下,按照我们平时的流程,是不可能发生这种情况的。由于我本地的 Windows 体系已经安装了KES,并且设置的端口号是 54321。在正常情况下,当我在 Docker 中启动 Linux 容器时,我同样暴露了相同的端口号 54321。由于端口冲突,部署工具在尝试连接到 Docker 容器的数据库时,错误地连接到了本地 Windows 体系上的数据库。由于 Windows 上的数据库并没有启用免密登录设置,所以导致了连接失败的情况。
当我手动关闭了 Windows 上的 KES 服务后,部署工具可以顺遂连接到 Docker 容器中的数据库,并且部署过程得以正常完成。可以参考下图中所示的设置和环境状态:

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

在本章中,我们详细探讨了KES(KingBaseES)集群部署的整个流程,以读写分离(RWC)集群为例,通过本地环境的Docker部署和Windows平台的可视化工具进行设置与安装。固然本次演示仅限于单节点部署,但整个过程为您提供了清晰的操作步骤和必要的体系设置。我们也深入分析了在集群部署过程中可能遇到的一些常见标题及解决方案,比方端口冲突标题,确保了部署能够顺遂进行。
固然演示的环境受限于硬件资源,但现实部署时,用户可以根据需要扩展节点,搭建更为复杂的集群结构。通过官方文档和详细的步骤说明,大家可以更好地理解和实施KES集群的部署。希望通过本章内容,能帮助读者更顺遂地搭建和管理自己的KingBaseES数据库集群,为日后的高效数据管理和运维奠定基础。
我是努力的小雨,一个正经的 Java 东北服务端开辟,整天琢磨着 AI 技能这块儿的奥秘。特爱跟人交流技能,喜欢把自己的心得和大家分享。还当上了腾讯云创作之星,阿里云专家博主,华为云云享专家,掘金优秀作者。各种征文、开源比赛的牌子也拿了。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4