kingbase一主一从一备份集群安装

325 阅读4分钟

本文章适用于v8r6、v9r1

  • 演示电脑 mac air m2
  • 演示系统 Fedora-Server-dvd-aarch64-40-1.14
  • 演示版本数据库版本 v8r6

由于博主电脑是are架构,使用x86的电脑请选择正确的系统版本和数据库版本,步骤一致。

服务器类型
192.168.66.152
192.168.66.153
192.168.66.154备份
192.168.66.155虚拟ip

虚拟ip 不是真实的服务器,是创建在主节点的一个虚拟网卡,连接虚拟ip会自动转发到主节点。

前置设置

所有服务器创建kingbase用户,关闭ESlinux,关闭防火墙

useradd kingbase
passwd kingbase
[输入kingbase密码]

下载数据库镜像

download.kingbase.com.cn/xzzx/index.…
选择合适的版本以及系统,点击下载

img.png

单机安装

这部分在192.168.66.152服务器上操作,单机安装是为了获取db.zip,db.zip是集群安装的安装包

  • 将下载的数据库iso文件传输到192.168.66.152服务器上进行挂载
su root
mkdir /home/kingbase/iso
mount -o loop \
KingbaseES_V008R006C008B0020_Aarch64_in2stall.iso \
/home/kingbase/iso
  • 使用kingbase用户运行 /home/kingbase/iso/setup.sh
su kingbase
/home/kingbase/iso/setup.sh

img_1.png 之后按照底下步骤输入,直到安装完成

条款 :<ENTER>
条款 :<ENTER>
条款 :<ENTER>
条款 :<ENTER>
条款 :<ENTER>
条款 :<ENTER>
条款 :<ENTER>
条款 :<ENTER>
条款 :<ENTER>
是否同意条款 : y
输入“安装集”的号码,或按 <ENTER> 键以接受缺省值:<ENTER>
文件路径 : <ENTER>
选择安装目录:/home/kingbase/v8r6
安装文件夹为: /home/kingbase/v8r6 是否正确?:y
请按 <ENTER> 键继续: <ENTER>
按 <ENTER> 键进行安装:<ENTER>
选择存储数据的文件夹:<ENTER>
端口 (默认﹕ 54321):<ENTER>
User (默认﹕ system): <ENTER>
请输入密码: 请输入密码:123456
请再次输入密码: 请再次输入密码:123456
输入您选择的号码,或按 <ENTER> 键以接受缺省值:<ENTER>
输入您选择的号码,或按 <ENTER> 键以接受缺省值: <ENTER>
输入您选择的号码,或按 <ENTER> 键以接受缺省值: <ENTER>
输入您选择的号码,或按 <ENTER> 键以接受缺省值: <ENTER>
输入您选择的号码,或按 <ENTER> 键以接受缺省值: <ENTER>
输入您选择的号码,或按 <ENTER> 键以接受缺省值: <ENTER>
Custom (默认﹕  ): <ENTER>
数据库即将被安装,需要花费一些时间,请耐心等待。请按 <ENTER> 键继续: <ENTER>
按 <ENTER> 键以退出安装程序: <ENTER>
  • 备份 /home/kingbase/v8r6/KESRealPro/V008R006C008B0020/ClientTools/guitools/DeployTools/zip/db.zip

  • 卸载镜像,删除单机安装

su root
umount /home/kingbase/iso
rm -rf /home/kingbase/v8r6/*
  • 把db.zip复制到所有服务器的/home/kingbase/v8r6/kingbase

集群安装

  • 解压 所有服务器的/home/kingbase/v8r6/kingbase/db.zip
unzip /home/kingbase/v8r6/kingbase/db.zip
chown -R kingbase:kingbase /home/kingbase/v8r6
#使用 root 用户在每个节点执行
/home/kingbase/v8r6/kingbase/bin/sys_HAscmdd.sh init 
/home/kingbase/v8r6/kingbase/bin/sys_HAscmdd.sh start 

lsof -t -i :8890 
#输出进程号即启动成功
#如果没有输出进程号使用journalctl -u securecmdd.service查看日志,看是不是少了什么库,再安装一下
  • 主服务器(192.168.66.152)编辑install.conf
vim /home/kingbase/v8r6/kingbase/bin/install.conf

# 修改 [install]部分
# 需要部署的节点
# all_ip=(192.168.66.152 192.168.66.153) 
# 见证节点时
# witness_ip="192.168.66.152"
# 安装路径
# install_dir="/home/kingbase/v8r6"
# 设置虚拟ip
# virtual_ip="192.168.66.155/24"
# 虚拟ip依赖设置,net_device可以在服务器上使用ifconfig查看网卡名称,net_device_ip与all_ip一致
# net_device=(ens160 ens160)
# net_device_ip=(192.168.66.152 192.168.66.153)
# 使用sshd部署(即手动复制db.zip)
# deploy_by_sshd=0
# 信任服务器
# trusted_servers="192.168.66.152 192.168.66.153 192.168.66.155"
  • 主服务器(192.168.66.152)执行下面语句进行安装
# 集群安装
sh /home/kingbase/v8r6/kingbase/bin/cluster_install.sh

小插曲1
如果显示输入密码,同步服务器的 /home/root/.es/accept_hosts和/home/kingbase/.es/accept_hosts

小插曲2
看输出日志提示vip设置失败,可以查看cat /home/kingbase/v8r6/kingbase/etc/repmgr.conf 文件 net_device和net_device_ip是否为null 在cluster_install.sh脚本中,有这么一段 image.png 把/home/kingbase/v8r6/kingbase/bin/install.conf中的配置net_device_ip和net_device同步到/home/kingbase/v8r6/kingbase/etc/repmgr.conf 中,但是脚本有bug,第一台服务器没有同步成功。

手动查看all_ip中的全部机器的repmgr.conf net_device_ip和net_device是否正确,修改后192.168.66.152执行 /home/kingbase/v8r6/kingbase/bin/repmgr primary register --superuser system

  • 集群集群
#除备份服务器外,可使用kingbase用户以下指令进行停止、启动、重启
/home/kingbase/v8r6/kingbase/bin/sys_monitor.sh stop
/home/kingbase/v8r6/kingbase/bin/sys_monitor.sh start
/home/kingbase/v8r6/kingbase/bin/sys_monitor.sh restart

更新中

遇到难搞的问题可以提供有偿服务。

集群添加服务器

这里先把192.168.66.154(备份服务器)作为节点进行演示

集群移除服务器

这里先把192.168.66.154(备份服务器)作为节点进行演示

添加备份服务器

替换 license