今天我们将探讨关于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机器基本上什么都没有,所以我们需要安装一些必要依赖,命令如下:

#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 命令可以正常执行了

执行如图所示:

> #安装 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访问

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

金仓环境配置

具体操作可以查看官方文档: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 技术这块儿的奥秘。特爱跟人交流技术,喜欢把自己的心得和大家分享。还当上了腾讯云创作之星,阿里云专家博主,华为云云享专家,掘金优秀作者。各种征文、开源比赛的牌子也拿了。

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

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

KES(KingBaseES)集群部署实战的更多相关文章

  1. (十)RabbitMQ消息队列-高可用集群部署实战

    原文:(十)RabbitMQ消息队列-高可用集群部署实战 前几章讲到RabbitMQ单主机模式的搭建和使用,我们在实际生产环境中出于对性能还有可用性的考虑会采用集群的模式来部署RabbitMQ. Ra ...

  2. KingbaseES集群部署工具安装

    关键字: KingbaseES.Java.ClientTools 一.安装前准备 1.1 软件环境要求 金仓数据库管理系统KingbaseES V8.0支持微软Windows 7.Windows XP ...

  3. RabbitMQ消息队列(十)-高可用集群部署实战

    前几章讲到RabbitMQ单主机模式的搭建和使用,我们在实际生产环境中出于对性能还有可用性的考虑会采用集群的模式来部署RabbitMQ. RabbitMQ集群基本概念 Rabbit模式大概分为以下三种 ...

  4. Elasticsearch单机双节点集群部署实战

    一.安装第一个ElasticSearch(主节点) 1.创建es用户,启动es不能使用root用户 useradd es passwd es12 root用户进入/home/es目录下 2.获取Ela ...

  5. 5000+字硬核干货!Redis 分布式集群部署实战

    原理: Redis集群采用一致性哈希槽的方式将集群中每个主节点都分配一定的哈希槽,对写入的数据进行哈希后分配到某个主节点进行存储. 集群使用公式(CRC16 key)& 16384计算键key ...

  6. Docker | redis集群部署实战

    前面已经简单熟悉过redis的下载安装使用,今天接着部署redis集群(cluster),简单体会一下redis集群的高可用特性. 环境准备 Redis是C语言开发,安装Redis需要先将Redis的 ...

  7. KingbaseES V8R6C5集群部署启动securecmdd服务配置案例

    案例说明: 对于KingbaseES V8R6C5版本在部集群时,需要建立kingbase.root用户在节点间的ssh互信,如果在生产环境禁用root用户ssh登录,则通过ssh部署会失败:在图形化 ...

  8. zookeeper学习与实战(二)集群部署

    上一篇介绍了单机版zookeeper安装,这种情况一般用于开发测试.如果是生产环境建议用分布式集群部署,防止单点故障,增加zookeeper服务的高可用. [环境介绍]       三台机器:192. ...

  9. MyCat集群部署(HAProxy + MyCat)

    本文档内容的依赖龙果学院<基于Dubbo的分布式系统架构实战>课程 二.软件版本 操作系统:CentOS-6.6-x86_64 JDK版本:jdk1.7.0_72 HAProxy版本:ha ...

  10. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录

    0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.感谢 在此感谢.net ...

随机推荐

  1. nginx配置tomcat的负载均衡记录

    实现效果 (1)浏览器地址栏输入地址 http://192.168.17.129/edu/a.html,负载均衡效果,平均在 8080和 8081 端口中. 准备工作 (1)准备两台 tomcat 服 ...

  2. Power BI 通过输入数据新建表后重新进入编辑状态

    在使用Power BI时,有时候我们会直接通过输入数据构建一些简单的表,但是构建好后我们可能还需要对表格进行增删改的操作,这时候我们需要怎么才会恢复到表格的编辑状态呢?其实很简单,我们回到PQ里面,双 ...

  3. Multi-Patch Prediction Adapting LLMs for Time Series Representation Learning

    这篇论文是出自2024ICML的一篇论文,作者成功将大语言模型应用到时序模型之中,并在时序领域取得了很好的效果,不仅如此,作者还设置了多种下游任务,从论文结果得知,作者的模型在下游任务处都取得了很好的 ...

  4. 盘点阿里、腾讯、百度大厂C#开源项目

    BAT作为互联网第一梯队的互联网公司,他们开源的项目都是发自内心地将踩过的坑和总结的经验融入到开源项目中,供业界所有人使用,希望帮助他人解决问题. 目前互联网的大厂开源的项目涉及各种语言,项目类型包含 ...

  5. PC大屏自适应

    通常来说PC端的页面并不像移动端页面那样对屏幕大小和分别率有那么强的依赖.一般的页面都是取屏幕中间的一块宽度(1280px), 两边留白, 高度随着内容的长度滚动.这样无论窗口怎么变化,页面都是可用的 ...

  6. Java虚拟机深入研究

    文章来自:http://www.qqread.com/java/w872354600.html Java技术与Java虚拟机  说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一 ...

  7. 深入JVM——栈和局部变量

    java栈概述 记得当初我学习java时,常常听见身边的朋友说:"你要记住,当new一个对象时,对象的引用存放在栈里,而对象是存放在堆里的".当时,听到这句教导时,脑海里立即出现栈 ...

  8. 前端实战之使用canvas合并图片

    最近做一个完整的系统,前端中涉及到一个推广图片的生成,其中推广图片是由一个变化的链接生成的二维码与一个固定图片拼接而成 实现demo: qrcode.png:https://images.cnblog ...

  9. Codeforces Round 881 (Div

    E. Tracking Segments 给定初始长度为n,且全为0的序列a,然后给出m个线段,如果一个线段中1的个数严格大于0的个数,那么该线段称为一个漂亮线段,现在给出q次操作,每次操作使得序列a ...

  10. 1分钟学会如何提升PCIe通信速率,基于RK3568J + FPGA国产平台!

    测试数据汇总 表 1 PCIe总线介绍 PCIe,即PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准.主要用 ...