一、人大金仓KingbaseES简介
对于学习过数据库理论的同学,我想都会记得《数据库系统概念》这本经典教材吧。作者是人民大学的王珊和萨师煊教授,他们是我国数据库学科的奠基人。
人大金仓公司是由王珊教授和国内最早一批从事数据库教学、科研、开发专家于 1999 年创立。
人大金仓KingbaseES (Enterprise Server)是人大金仓公司自主研制开发的具有自主知识产权的企业级通用关系型数据库管理系统。
本文介绍的是基于KingbaseES V8R6版本的集群部署。
二、安装环境及集群架构
1、安装环境
创建三台VMWare虚拟机,如下:
在集群中的角色 | IP | 主机名 | 主机配置 |
primary | 192.168.20.71 | rhel-node1 | 1CPU、2GB Red Hat Enterprise Linux Server release 7.9 (注:每个节点只分配了2GB内存,是因笔者的测试环境资源有限, 对于有条件的同学,建议每个虚拟机分配内存在3.5GB以上) |
standby | 192.168.20.72 | rhel-node2 | |
witness | 192.168.20.73 | rhel-node3 | |
VIP | 192.168.20.74 | ||
信任网关 | 192.168.20.2 |
2、集群架构示意
三、安装前的系统设置
1、禁用SSH进行DNS解析
sed -i ‘s/#UseDNS yes/UseDNS no/g’ /etc/ssh/sshd_config
sed -i ‘s/GSSAPIAuthentication yes/GSSAPIAuthentication no/g’ /etc/ssh/sshd_config
systemctl restart sshd
2、关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
3、关闭selinux
sed -i ‘s/^SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
setenforce 0
4、创建初始安装目录和监控程序目录
(1)在节点1,创建初始安装目录,执行如下:
mkdir -p /opt/kingbase
chown -R kingbase:kingbase /opt/kingbase
chmod -R 775 /opt/kingbase
(2)在节点3,创建监控程序目录,执行如下:
mkdir -p /data/KESMonitor
chown -R kingbase:kingbase /data/KESMonitor
chmod -R 775 /data/KESMonitor
四、集群安装和部署
1、将KingbaseES V8R6集群安装包,挂载到节点1的光驱上
安装包文件名 | 文件大小 | MD5校验码 |
KingbaseES_V008R006C005B0023_Lin64_cluster_install.iso | 1,351,311,360 | 9337ba1face9572d0c59dee3162f01fe |
2、以kingbase用户登录节点1的图形界面,进行集群初始安装:
打开一个终端窗口,执行如下:
稍后,出现如下安装程序的封面:
点击“Next”,出现如下界面:
如上图勾选后,点击“Next”,出现如下界面:
在上图中输入安装路径,然后点击“Next”,出现如下界面:
点击“Install”,出现如下安装进度的界面。
最后,出现如下界面:
点击“Done”,完成集群的初始安装。(所谓初始安装,就是将集群安装所需的程序包,放置到了第一台主机上)
点击“Done”后,安装程序会询问,是否要开始集群部署,如下所示:
点击“YES”,则安装程序会调用集群部署程序;如果点击“NO”,则退出集群的初始安装,后续可手动调用集群部署程序,方法如下所示:
3、创建集群并部署第一节点(主节点)
集群部署程序启动,出现如下操作封面:
然后,在如下界面,点击右键,选择“创建项目”:
输入项目名称,如下所示:
然后,在创建的项目下,点击右键,创建集群,如下所示:
输入集群名称,以及root密码(要求集群各个节点的root密码相同),如下所示:
然后,对集群进行设置,如下所示:
在创建集群后,在“节点管理”处点击右键,向集群加入第一个节点(主节点),如下所示:
设置集群第一个节点(主节点)的信息,如下所示:
点击“下一步”,出现如下界面,点击“检查”:
如果有错误,则点击“一键修改系统参数”,再点击“检查”,直到没有错误为止,然后点击“下一步”,出现如下界面:
点击“确定”,出现如下界面:
点击“部署”,开始部署集群的第一个节点(主节点)。最后显示如下:
4、部署集群第二个节点。
依照上面部署集群第一个节点的方法,部署集群的第二个节点。
5、部署集群的仲裁节点。
右击“节点管理”,选择“新增Witness节点”,如下所示:
在出现的界面中,设置节点名称、IP地址,以及许可文件的路径,如下所示:
点击”下一步“,出现如下界面:
点击 ”确定“,开始部署,出后出现如下界面:
到此集群的三个节点部署完成。
6、查看集群状态
双击集群名,可查看集群的状态,如下所示:
可以双击集群的某个节点,可以查看这个节点的信息,如下所示:
另外,也可以通过命令行的方式来查看集群的状态,如下:
更进一步可以详细查看主库和备库的数据同步复制情况,如下:
查主库:
查备库:
7、对集群的管理
右击集群名称,出现集群的管理菜单,可以实现对集群的管理,如下所示:
上面的集群管理菜单命令,字面含义已经很明确,感兴趣的同学,可以自行测试,此处不再赘述。
五、部署对集群的监控
1、监控配置:
双击”监控管理“下面的”监控配置“,然后点击”添加“,如下所示:
在出现的界面中,输入要部署集群监控功能的主机IP,如下所示:
输入用户名kingbase和密码,以及部署的路径,如下所示:
设置监控服务名,如下所示:
点击”Finish“,完成监控服务的设置,如下所示:
2、配置集群监控项:
点击”配置集群监控项“,如下所示:
勾选要监控的主机IP,如下所示:
在出现的界面中,设置监控项名称,并关联监控服务,如下所示:
点击”Finish“,完成监控项的配置,
3、打开监控页面
双击”监控视图“,然后点击”打开集群监控页面“,如下所示:
出现集群的监控界面,如下所示:
如果觉得在虚拟机里,查看这个监控页面不方便,也可以将这个页面的地址栏内容复制到宿主机的浏览器中,通过宿主机的浏览器来展现这个监控页面。
4、集群高可用服务进程和监控进程
经过以上集群的部署和对集群的监控部署,在各节点上,均有如下服务进程:
前两个进程是集群的高可用服务进程;后两个进程用于对集群各节点的监控。
六、通过VIP远程登录数据库集群
1、查看VIP
VIP是在集群主库上的虚拟IP,当主库发生故障,集群进行主库切换,这个VIP也将自动飘移到新的主库上。
通过以上,可以看到VIP是在主库上。
2、使用客户端工具,通过VIP远程登录数据库集群
(1)关于VIP的说明
VIP(Virtual IP Address,虚拟IP地址),在这个数据库集群中,VIP会飘浮在主库所在的主机。当主库发生变化时,这个VIP也会随之飘移到新主库上。
客户端通过这个VIP,就可以始终连接到主库,即使是发生主库切换,也无需客户端做配置修改,这是VIP的一个好处。
但是通过这个VIP只能访问主库,却不能访问备库,这样就无法实现对数据库集群的读写分离(即:将写任务分配给主库,将读任务分配给备库,从而实现负载均衡)
因此,如果想要实现读写分离功能,则在部署数据库集群时,可以不用配置这个VIP。对于Java客户端或中间件,可以用如下的JDBC的url连接数据库,以实现读写分离功能:
jdbc:kingbase8://192.168.20.74:54321/test?usedispatch=true&slave_add=192.168.20.72&slave_port=54321 |
关于通过JDBC连接Kingbase的说明(包括读写分离),请参看:https://help.kingbase.com.cn/v8/faq/faq-new/interface/jdbc.html
注:Kingbase的JDBC驱动包下载地址: https://www.kingbase.com.cn/qd/index.htm
(2)通过VIP登录数据库
可以使用系统自带的ksql客户端工具,方法如下:
也可以使用第三方图形客户端工具(比如pgAdmin),连接配置如下:
system的初始默认密码是12345678ab
登录后,可以通过此图形化客户端工具,对数据库进行访问,如下所示:
七、致谢
这是我在参加了人大金仓KCP培训课程后,为巩固和加深对学习内容的理解,在测试环境实际搭建了Kingbase数据库集群,并将实验过程整理为以上这篇文字。
这样做,一方面可以将所学知识进行沉淀,另一方面也希望通过分享,能够帮助到更多想要学习人大金仓Kingbase的同学。
这篇文字能够得以呈现,要感谢人大金仓的各位恩师认真详细的讲解和答疑解惑,他们是(排名不分先后):陈诚老师、孟祥龙老师、王胜林老师、杨永亮老师、张良老师、周传胜老师。
衷心祝愿人大金仓等国产数据库,越做越强、越来越好!
同时要感谢墨天轮这个IT技术学习和知识分享平台,通过墨天轮这个平台,让我开阔了眼界、学习到了知识、更结识到了志同道合的伙伴。同祝墨天轮,越来越好!
评论



