本文章适用于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.…
选择合适的版本以及系统,点击下载
单机安装
这部分在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
之后按照底下步骤输入,直到安装完成
条款 :<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脚本中,有这么一段把/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(备份服务器)作为节点进行演示