kingbase之集群部署之集群规划和安装

news2024/11/18 15:35:17

一、kingbase简介

  KingbaseES是一款面向大规模并发交易处理的企业级关系型数据库。该产品支持严格的ACID特性、结合多核架构的极致性能、行业最高的安全标准,以及完备的高可用方案,并提供可覆盖迁移、开发及运维管理全使用周期的智能便捷工具。在早先的博文Linux之国产数据库人大金仓KingbaseES单机安装介绍了kingbase的单机安装步骤。实际生成环境中我们往往要求数据库的高可用,我们就需要进行集群部署,多台数据库服务器可以一起工作, 这样如果主要的服务器失效则允许一个第二服务器快速接手它的任务(高可用性), 或者可以允许多个计算机提供相同的数据(负载均衡)。理想情况下,数据库服务器能够无缝地一起工作。博文实验环境:

  • 操作系统:centos7.6
  • kingbase版本:V8.6
  • 服务器配置:x86,2c,8G内存,60G硬盘

  官网环境kingbase V8.6安装最低要求如下:
在这里插入图片描述

二、部署前的准备工作

  部署前的软件包下载、虚拟机的安装、JDK安装、桌面本文不做赘述,我们可以参考单机安装的博文。这里的准备工作主要是指集群的规划和部署前必须至少的操作进行说明。提前做好规划方便以后的运维和管理。

1、节点规划

主机名IP用途说明
s168192.168.0.166node1,主节点,安装部署工具
s167192.168.0.167node2,备节点
s166192.168.0.168node3,监控和仲裁节点
sw192.168.0.1交换机网关
vip192.168.0.69虚拟IP地址,随着主节点角色自动漂移

2、安装配置信息规划

配置项规划说明
数据库安装用户kingbase
数据库端口54321
数据库超级用户system
数据库超级用户密码123456
PCP密码123456
数据库部署工具安装到node1上
数据库编码格式UTF8
大小写是否敏感
项目名称wuhs_kcluster_project
集群名称kcluster

3、存储目录规划

  实际上data路径,日志路径,bin路径在集群项目名称、集群名称等确定之后就是固定的了,如果数据需要存储在其他磁盘上,我们可以使用软连接的方式。

规划说明目录
存放安装介质、license文件/install
数据库软件安装家目录/home/kingbase
数据库部署工具安装目录/home/kingbase/ES/V8
数据库监控目录/KESMonitor
data路径/home/kingbase/cluster/wuhs_kcluster_project/kcluster/kingbase/data
日志路径/home/kingbase/cluster/wuhs_kcluster_project/kcluster/kingbase/hamgr.log
bin路径/home/kingbase/cluster/wuhs_kcluster_project/kcluster/kingbase/bin
归档日志目录/archive
数据库备份目录/backup

4、创建相关目录

#主节点
[root@s168 ~]# mkdir /install
[root@s168 ~]# mkdir /backup
[root@s168 ~]# mkdir /archive
#备节点
[root@s167 ~]# mkdir /install
[root@s167 ~]# mkdir /backup
#仲裁节点
[root@s166 ~]# mkdir /install
[root@s166 ~]# mkdir /backup
[root@s166 ~]# mkdir /KESMonitor

5、关闭防火墙

#在s166、s167、s168三个节点执行,如果不想关闭防火墙则需要放行54321、8890、9187、9100端口
[root@s166 ~]# systemctl stop firewalld
[root@s166 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

6、关闭selinux

#在s166、s167、s168三个节点执行
[root@s166 ~]# setenforce 0
[root@s166 ~]# sed -i ‘s/=enforcing/=disabled/g’ /etc/selinux/config

7、禁用SSH进行DNS解析

#在s166、s167、s168三个节点执行
[root@s166 ~]# sed -i ‘s/#UseDNS yes/UseDNS no/g’ /etc/ssh/sshd_config
[root@s166 ~]# sed -i ‘s/GSSAPIAuthentication yes/GSSAPIAuthentication no/g’ /etc/ssh/sshd_config
[root@s166 ~]# systemctl restart sshd

8、创建kingbase用户

#在s166、s167、s168三个节点执行
#我这在安装操作系统的时候已经已经添加了普通用户kingbase
#如果没有创建kingbase用户,可以用useradd kingbase添加,使用passwd kingbase设置账户密码。

9、修改系统参数

#在s166、s167、s168三个节点执行
[root@s166 ~]# sed -i “60a kingbase soft nofile 65536” /etc/security/limits.conf
[root@s166 ~]# sed -i “61a kingbase hard nofile 65536” /etc/security/limits.conf
[root@s166 ~]# sed -i “62a kingbase soft nproc 65536” /etc/security/limits.conf
[root@s166 ~]# sed -i “63a kingbase hard nproc 65536” /etc/security/limits.conf
[root@s166 ~]# sed -i “63a kingbase soft core unlimited” /etc/security/limits.conf
[root@s166 ~]# sed -i “63a kingbase hard core unlimited” /etc/security/limits.conf
#在s166、s167、s168三个节点执行
#编辑/etc/sysctl.conf,写入如下内容,保存后重启系统,当然系统参数的修改我们可以通过数据库部署工具一键修改完成。
fs.aio-max-nr= 1048576
fs.file-max= 6815744
kernel.shmall= 2097152
kernel.shmmax= 4294967295
kernel.shmmni= 4096
kernel.sem= 250 32000 100 128
net.ipv4.ip_local_port_range= 9000 65500
net.core.rmem_default= 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576

10、设置为图形界面启动

#在s168节点执行,在部署工具安装节点执行
[root@s168 ~]# systemctl set-default graphical.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.

三、kingbase集群安装步骤

1、将镜像iso文件和license上传到/install

[root@s168 ~]# ll /install/
total 2587992
-rw-r–r–. 1 root root 2650097664 Oct 8 14:46 KingbaseES_V008R006C006B0021_Lin64_install.iso
-rw-r–r–. 1 root root 3534 Apr 26 2022 license_18720_0.dat

2、挂载iso文件

[root@s168 ~]# mkdir -p /mnt/cdrom
[root@s168 ~]# mount -o loop /install/KingbaseES_V008R006C006B0021_Lin64_install.iso /mnt/cdrom/

3、启动安装脚本

  使用sh setup.sh -i swing命令启动安装脚本,这里安装的是kingbase的完整版,包含部署工具、客户端等。其实这里的安装步骤跟单机安装没有什么区别。kingbase单机安装见博文Linux之国产数据库人大金仓KingbaseES单机安装。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、启动数据库部署工具

  登录系统桌面,点击启动数据库部署工具。
在这里插入图片描述

5、创建集群

  点击集群项目名称,右键选择创建项目,输入项目名称;然后右键选择创建集群,输入集群名称。
在这里插入图片描述

6、集群通用配置

  完成集群名称后,点击下一步进入集群通用配置项,基本设置中我们设置集群的复制模式、超级用户账户名、密码、网关地址等。高级设置中我们可以设置VIP地址,有了VIP地址集群进行主备切换的时候应用端就不需要切换jdbc连接串的IP地址信息。
在这里插入图片描述
  配置页内容比较多,需要通过滚动条上下拉动或者左右拉动才可以完成全部配置。
在这里插入图片描述
  高级配置主要需要设置VIP地址,切换模式、检测参数等使用默认配置即可。
在这里插入图片描述

7、新增节点

  选择节点管理,右键新增节点。选择使用ssh启用securecmd,如果是已删除节点重新部署则可以点击使用已部署的securecmd。这里主要需要填写节点的IP地址、端口号、root密码和license文件。
在这里插入图片描述

8、节点配置

  继续完成节点配置,主要配置显示名称,我这里显示名称开始写成网卡名称了,后面是通过删除节点重新部署才修改的名称。所以参数定义的时候谨慎操作。主节点是不可以被删除的,如果需要删除则需要先完成主备切换。新增节点的时候默认第一个节点为主节点,第二个节点为备节点。
在这里插入图片描述

9、节点系统参数检查

  点击检查可以验证系统参数配置是否满足要求,如果不满足要求可以根据报错提示修改或者点击一键修改系统参数完成参数配置。
在这里插入图片描述

10、预览节点配置信息

  这一步主要是预览整个节点的配置信息,确认无误后点击确定,如果有需要修改的点击上一步返回修改。
在这里插入图片描述

11、节点部署

  点击部署开始进行节点部署,部署完成后会提示节点部署成功。
在这里插入图片描述

12、新增备节点

  主节点部署完成之后,重复第7-11步,即可完成备节点添加。
在这里插入图片描述

13、新增witness节点

  点击节点管理右键新增witness节点,参考第7-11步完成仲裁节点的添加。
在这里插入图片描述

14、witness添加成功

在这里插入图片描述

15、查看集群状态

  双机集群名称,可以查看集群状态,进程号等信息。当前node168节点为主节点,node167节点为备节点,node166节点为仲裁节点。
在这里插入图片描述

16、查看节点状态

  双机节点名称可以查看节点状态,包括节点的操作系统内核、内存使用情况、数据库安装磁盘的磁盘利用率等。
在这里插入图片描述

四、集群日常管理

1、集群启停

  选中集群,右键选择启动/停止,可以进行启动集群或者停止集群的操作。选择了启动或者停车集群还会弹窗提示,点击确定后就开始启动或者停止集群了。启停或者停止集群完成后有弹窗提示。
在这里插入图片描述
在这里插入图片描述

2、主备切换

  选中集群,右键选择主备切换,弹窗中选择需要切换为主的节点,然后点击切换,切换成功后会有弹窗提示。
在这里插入图片描述

3、修改集群密码

  选中集群,右键选择修改集群密码,弹窗如下内容,我们可以修改system超级用户的密码。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

zsh: command not found: adb问题分析

问题描述 Mac上使用 adb 调试Android设备时,出现了 zsh: command not found: adb 的报错提示。 出现上述错误代表 adb 无法在挡枪 的shell 中使用,而当前的 shell 为 zsh 。 zsh 介绍 zsh 也是一种 shell ,Unix 衍生系统的默认 的shell 都…

如何使用组件切换器做话题导航

highlight: atelier-cave-dark 使用组件切换器实现一个标签导航 效果展示 前置准备 背景素材 话题图标素材 具体步骤 制作背景 制作话题导航 制作话题导航结果列表 设置组件切换器关联内容 创建切换组件行为触发器 创建点击行为触发器 步骤分解 制作背景 将背景素材添加到 …

Vue使用axios进行get请求拼接参数的两种方式

前言 本文主要介绍如何在Vue使用axios进行get请求拼接参数的两种方式 我们就以github上的一个开源接口举例: https://api.github.com/search/users?qxxx 这是github给开发人员提供的一个接口,是get请求。我们可以直接通过浏览器访问 很明显&#xff…

[附源码]java毕业设计网易云音乐推荐系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

FL Studio21傻瓜式编曲音乐编辑器FL水果软件

在我看来软件只是工具.不管哪个都可以做任何风格的音乐,区别只是软件操作相对而言fl studio更容易上手,在国内也很受欢迎,弱项应该是混音上如果你做电音的话 还是FL更好一些 ,因为他就是为舞曲而生的!flstudio内配置音源、插件、录音软件、混音效果!而FLStudio则更偏向于电子音…

[附源码]SSM计算机毕业设计二手车况在线评估JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

分库分表-分片算法运用

分库分表-分片算法运用 ShardingSphere 分片算法 用于将数据分片的算法&#xff0c;支持 、>、<、>、<、BETWEEN 和 IN 进行分片。分片算法可由开发者自行 实现&#xff0c;也可使用 Apache ShardingSphere 内置的分片算法语法糖&#xff0c;灵活度非常高。原理简…

uploads_labs前9题

upload-labs详解1.代码使用的函数详解2.uploads_labs1.Pass-012.Pass-023.Pass-034.Pass-045.Pass-056.Pass-067.Pass-078.Pass-089.Pass-091.代码使用的函数详解 2.uploads_labs 1.Pass-01 function checkFile() {var file document.getElementsByName(upload_file)[0].va…

一年前端面试打怪升级之路

Promise是什么? Promise 是异步编程的一种解决方案&#xff1a;从语法上讲&#xff0c;promise是一个对象&#xff0c;从它可以获取异步操作的消息&#xff1b;从本意上讲&#xff0c;它是承诺&#xff0c;承诺它过一段时间会给你一个结果。promise有三种状态&#xff1a; pe…

基于android平台下的猎聘校园系统的设计与实现

目 录 摘 要 I Abstract II 第1章 绪论 1 1.1选题背景及意义 1 1.2研究现状 1 1.3 研究内容 3 第2章 系统开发环境及相关技术 4 2.1开发环境 4 2.2 Java SDK 4 2.3 Eclipse 5 2.4 ADT 6 2.5 Android SDK 6 3.6 Android开发平台搭建 10 第3章 系统分析 12 3.1 研究目标 12 3.2 需…

矿井水深度除总氮有什么好工艺?硝酸根离子交换柱

煤矿矿井水是指在采煤过程中&#xff0c;所有渗入井下采掘空间的水&#xff0c;矿井水的排放是煤炭工业具有行业特点的污染源之一&#xff0c;量大面广&#xff0c;我国煤炭开发每年矿井的涌水量为20多亿立方米&#xff0c;其特性取决于成煤的地质环境和煤系地层的矿物化学成分…

智慧城市可视化(一)

✍️ 作者简介: 前端博主&#xff1b;CSDN博客专家&#xff1b;51CTO特邀专家博主&#xff0c;全网粉丝2W左右 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多web可视化介绍】 &#x1f947;联系作者&#xff1a;【私信&#xff1a;技术交流 | 信息分享 | 商务合作…

新Token经济模型: 解决当下GameFi困境的「新范式」

介绍&#xff1a; 当你每天打开 StepN&#xff0c;奔跑在回本的道路上&#xff0c;却发现&#xff0c;原来路可以越跑越长&#xff0c;回本成了可望而不可即的幻想&#xff0c;你是否感到些许无奈&#xff1f; 当你充满激情&#xff0c;怀揣致富的梦想&#xff0c;去寻找下一…

【Lua基础 第3章】变量、赋值语句、索引、lua中的循环、循环控制语句

文章目录&#x1f4a8;更多相关知识&#x1f447;一、变量二、赋值语句&#x1f31f;特点2演示&#x1f31f;特点3.1演示&#x1f31f;特点3.2演示三、索引四、lua的循环&#x1f538;while循环&#x1f31f;代码演示&#x1f538;for循环&#x1f31f;代码演示&#x1f538;re…

flink1.13(一)

1. 初识Flink 1.1 Flink是什么 Apache Flink 是一个框架和分布式处理引擎, 用于对无界和有界数据流进行状态计算. Flink框架处理流程如下图所示: Flink的应用场景: 1.2 为什么选择Flink 批处理和流处理流数据更真实地反应了我们的生活方式我们的目标 低延迟高吞吐结果的准…

【第九章】vim程序编辑器

文章目录vi与vimvi的使用范例按键说明一般指令模式可用的按钮说明&#xff1a;光标移动、复制贴上、搜寻取代等一般指令模式切换到编辑模式的可用的按钮说明一般指令模式切换到命令行界面的可用按钮说明vim的暂存盘、救援回复与打开时的警告讯息vim的额外功能区块选择&#xff…

AOP编程

什么是面向切面编程AOP? 在软件业&#xff0c;AOP为Aspect Oriented Programming的缩写&#xff0c;意为&#xff1a;面向切面编程&#xff0c;通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续&#xff0c;是软件开发中的一个热点&#xff…

【个人硬件开源分享】基于ESP32的能量机关主控受控模块,伏虎单手摇杆重力感应加摇杆加LCD屏幕分为左手和右手,基于PD5048A的I2C总线扩展级联器

提示&#xff1a;文章看完后&#xff0c;记得点赞&#xff01; 文章目录前言基于ESP32的能量机关主控受控模块伏虎单手摇杆I2C总线级联器MPU6050陀螺仪WS2812灯珠总结前言 这些是我业余时间做的一些电子小作品&#xff0c;包括基于ESP32的能量机关主控受控模块&#xff0c;伏虎…

在这个技术浮躁的时代也要注重架构的本质,多位大佬联袂推荐小团队构建大网站,让你少走弯路,甚至实现速成,成为优秀架构师!

作为一个技术人&#xff0c;架构师是每个人追寻的目标&#xff0c;也是个人价值和成就的一个重要标志。 那架构师是怎样炼成的呢&#xff1f;或者说&#xff0c;怎样才算是一个优秀的架构师呢&#xff1f; 我们需要几年甚至十几年的一线技术工作经验&#xff0c;我们需要正好遇…

isdigit isdecimal isnumeric 区别

一、代码测试 num "1" #unicode num.isdigit() # True num.isdecimal() # True num.isnumeric() # Truenum "1" # 全角 num.isdigit() # True num.isdecimal() # True num.isnumeric() # Truenum b"1" # byte num.isdigit() # True n…