可用性作为数据库的重要指标之一,集群化是一种通用的解决方案,不同数据库产品的实现并不相同,实践出真知,下面就带大家一起上手,从零开始搭建一套人大金仓数据库的高可用集群。
节点名称 | IP | 操作系统 | 平台 |
---|---|---|---|
node1 | X86_64 | 192.168.101.6 | Ubuntu 20.10 |
node2 | X86_64 | 192.168.101.9 | Ubuntu 20.10 |
访问金仓数据库官网下载金仓最新版本的数据库
网站地址:点此访问
目前金仓官方提供了所有可支持的平台的数据库版本和license,KingbaseES数据库最新版本为V8R6,分为单机版和集群版,我们下载集群版即可。
也可以在服务器上直接使用wget下载
wget https://kingbase.oss-cn-beijing.aliyuncs.com/KESV8R3/V8R6/V8R6%20X86%EF%BC%88%E9%9B%86%E7%BE%A4%EF%BC%89/KingbaseES_V008R006C004B0021_Lin64_cluster_install.iso
license获取地址在下载数据库包的相同页面下,点此访问,官方提供了不同的license以适用不同场景
我们取企业版license即可。
获取安装包后,使用sudo权限挂载安装包
sudo mount KingbaseES_V008R006C004B0021_Lin64_cluster_install.iso /home/cli/install
1、进入install目录,执行sh setup.sh,开始使用图形化方式安装数据库
2、勾选同意协议,继续下一步
3、点击选择,选择安装路径,也可以直接下一步,则使用默认安装路径,我选择安装在用户目录下
4、接下来是安装前的确认,我们直接进行安装
5、接下来就是自动安装的过程了,稍等
6、点击【done】,会弹出提示,是否立即启动集群部署工具,我们选择NO,完成当前的安装,等待部署集群时再启动集群部署工具。
至此,集群版的数据库安装完成。
金仓数据库推荐使用数据库部署工具进行集群安装,只需要在集群节点或集群节点外的任意节点安装好集群版的数据库,就可以进行集群的搭建。
进入数据库安装路径下的DeployTools文件夹,运行./deploy命令,即可打开部署工具
单击“集群项目名称”,工具弹出右键菜单,选择“创建项目”
根据要求填写项目名称,点击ok,我填写的是my_project
提示创建完成,点击ok
1、右键单击刚刚创建的项目节点,弹出菜单,选择“创建集群”
2、进入节点通用配置页面,这里我们需要填写集群名称和root密码
ps:端口默认是22,指的是ssh的默认端口,常规用户指的是集群部署需要使用的用户,默认为kingbase,若系统没有这个用户,则会在集群部署时自动创建。
3、点击下一步,进入基本设置页面,我们首先选择数据库db.zip包
4、工具默认会定位到db.zip包的上一级目录,完成选择后点击ok
5、填写信任网关后点击【确定】,
ps:此页面有较多的默认配置,具体参数含义可以看下官方提供的手册,摘录如下:
输入项 | 描述 |
---|---|
选择数据库zip包 | 点击选择按钮,选择db.zip。 |
max_connections | 数据库最大连接数,默认100个,不能为空。在集群中max_connections 的值只能修改为更大的值,不能修改为更小的值。 |
listenerPort | 数据库监听端口号,默认54321,不能为空。 |
dbUser | 数据库用户名,默认system,不能为空。 |
dbPassword | 数据库密码,默认12345678ab,不能为空。 |
replication mode | 同步/异步模式:1.quorum 2.sync 3.async。 |
archive_path | 数据库归档路径。 |
dbmode | 数据库兼容模式,Oracle、pg两种模式,默认兼容Oracle。 |
加密算法 | 数据库认证采取的加密方式,scram-sha-256、md5,默认是scram-sha-256。 |
trust_servers | 集群的信任网关,可以填写多个用英文逗号分隔,多个信任网关中有一个可用即可。 |
hamgr_dbname | 默认是esrep, 且不可修改。repmgr所依赖的表就存放在此数据库中。 |
hamgr_dbuser | 默认是esrep,且不可修改。登录esrep数据库的用户为esrep。 |
log_file | hamgr记录日志的所在路径。不可修改 |
data_directory | 集群数据库data存放路径。不可修改 |
sys_bindir | 集群数据库bin存放路径。不可修改 |
ping_path | 系统环境中ping指令所在路径。 |
1、展开当前创建的集群,右键选择菜单的“新增节点”,如下图所示:
2、工具开启“增加节点”流程窗口,如下图所示:
此页面需要填写标红的类容,各参数详解摘录如下:
输入项 | 描述 |
---|---|
显示名称 | 用户自定义的节点名称(服务器的别名), 最终将会显示在左侧的树形菜单中。 |
IP地址 | 当前节点(服务器)的IP地址。 |
端口、常规用户、 root密码、默认路径 | 此四项均来自通用配置中,无需再次填写,且无法修改。详细介绍参见通用配置参数介绍。 |
系统节点名称 | 系统节点名 称是用于记录在数据库配置文件中的 节点(服务器)别名,目前采用node + ip 最后一段的拼接的方式命名。 |
选择license文件 | 此项主要是针对非保密机集群。需要填写集群节点所需要的license的上传路径。 |
网卡名称 | 此项主要是针对填写VIP选项的集群。使用VIP就必须在此处填写VIP要绑定到对应的网卡的名称。 工具可以手动获取网卡名称,并有下拉框提供不同网卡的选择,也可以手动进行填写。 |
3、填写完成后点击下一步,进入节点环境检测页面
4、系统环境检查
点击“检查”按钮, 环境参数的信息检测,都会输出到这个界面中。
标为红项ERROR的,意为不允许安装集群,用户需解决后,才可继续进行下一步。
5、一键修改系统参数
在出现不满足集群部署的ERROR项后,我们点击一键修改系统参数,工具会自动对不满足集群部署的系统参数进行修改,
6、修改完成后,再次点击检查,可以看到参数已经可以满足集群部署要求,我们继续下一步
7、进入集群部署前的配置预览窗口,当前界面将会把配置信息进行汇总并显示
8、点击上图中“确定”按钮,系统进入集群部署界面,如下图:
9、点击部署按钮,工具开始自动部署集群并输出过程日志,完成部署后会有弹窗提示
10、点击确定,弹窗消失,点击关闭,完成当前节点部署
至此,完成了集群主节点的创建
集群备节点的创建流程同创建主节点的流程一致,工具在创建第一个节点时默认该节点为主节点,后续新建的节点均为备节点,因此,按照创建主节点的流程继续创建备节点
后续重复步骤略…
至此,完成高可用1主1备集群的安装
可以登录集群任一节点,进入集群部署的bin目录,执行./repmgr service status检查集群状态
cd /home/kingbase/cluster/my_project/my_cluster/kingbase/bin
./repmgr service status
至此,一套金仓数据库高可用集群就部署完成了。
总结一下,金仓KingbaseES集群的整个部署流程比较清晰,过程操作比较简单,部署过程中提供了一件修改系统参数等功能,简化了集群部署前服务器环境配置的操作,整个过程对应的日志和提示提示也比较清楚,集群的状态检查也比较简单易用。
【本文正在参与炫“库”行动-人大金仓有奖征文】
活动链接:https://marketing.csdn.net/p/98bd30353e7cb998b6070a89e8b91edb