人大金仓数据库集群安装(主备)
kingBase 主备安装
·
一、安装环境
服务器 | 安装目标 |
---|---|
10.0.0.255 | 主 |
10.0.0.8 | 备 |
1.1 安装前准备
- 创建部署用户(集群用户)kingbase
- 创建安装目录
分别在各个节点执行如下命令
# 分别在各个节点执行如下命令
# 创建集群用户
useradd -U -m kingbase
# 创建安装目录
mkdir -p /data/kingbase/
cd /data/
# 归属
chown kingbase:kingbase kingbase
- 创建安装文件存放目录,在主节点上执行(10.0.0.255)
mkdir -p /home/kingbase/r6_install/
- 配置开放端口或者关闭防火墙
分别在各个集群节点上执行如下命令:
#数据库端口默认 54321,
firewall-cmd --zone=public --add-port=54321/tcp --permanent
# HA-LOG 分析工具默认端口 65432
firewall-cmd --zone=public --add-port=65432/tcp --permanent
# sys_securecmdd 工具默认端口 8890
firewall-cmd --zone=public --add-port=8890/tcp --permanent
二、开始安装
2.1 安装数据库
推荐在集群主机上安装数据库(10.0.0.255),具体安装过程请参考上一篇文章。
2.2 安装集群
2.2.1 获取集群安装文件
安装成功后,请在 ${install_dir}/ClientTools/guitools/DeployTools/zip/目录下获取如下文件:
- db.zip #数据库服务器压缩包
- cluster_install.sh # 部署脚本
- install.conf # 部署配置文件
- trust_cluster.sh # 配置 SSH 免密脚本
将如上文件复制到 /home/kingbase/r6_install/
cp db.zip cluster_install.sh install.conf trust_cluster.sh /home/kingbase/r6_install/
请单独准备 license.dat 授权文件并上传至/home/kingbase/r6_install/
2.2.2 配置 install.conf
编辑 install.conf 文件
cd /home/kingbase/r6_install/
vim install.conf
文件中配置项很多,大部分都有默认值,如无特殊需求不需要修改,下面是总结出来的必填项和主要的配置项
## 所有节点IP
all_ip=(10.0.0.225 10.0.0.8)
## 集群安装目录
install_dir="/data/kingbase/cluster"
## 安装文件目录
zip_package="/home/kingbase/r6_install/db.zip"
## 数据库用户名、密码
db_user="system" # the user name of database
db_password="123456" # the password of database.
db_port="54321" # the port of database, defaults is 54321
db_mode="mysql" # database mode: pg, oracle, mysql
db_auth="scram-sha-256" # database authority: scram-sha-256, md5, scram-sm3, sm4, default is scram-sha-256
# 大小写敏感
db_case_sensitive="no"
# 网关
trusted_servers="10.0.0.1"
# 漂移IP
virtual_ip="10.0.0.220"
# 漂移IP 对应的物理IP网卡
net_device=(eth0 eth0)
#漂移IP 对应的物理IP
net_device_ip=(10.0.0.225 10.0.0.8)
use_scmd=0
2.2.3 SSH 免密配置
使用 trust_cluster.sh 进行 SSH 免密配置,免密配置后,请验证即将要部署集群的所有设备的 root 用户和普通用户之间的免密是否配置正确。
# 使用root用户执行,脚本会根据install.conf 中配置的IP、和用户进行免密设置
./trust_cluster.sh
# 如看到 check ssh connection success! 则代表配置成功
2.2.4 集群部署
集群部署用户执行 sh cluster_install.sh 命令进行集群部署,部署脚本将按照配置自动完成集群部署工作。
su - kingbase
# 执行脚本前请检查各个机器节点上的安装目录/data/kingbase/及归属是否为kingbase用户
sh cluster_install.sh
看到类似如下的输出信息,则代表集群安装完成:
[NOTICE] standby node "node2" (ID: 2) successfully registered
[INSTALL] register the standby on "10.0.0.8" ... OK
[INSTALL] start up the whole cluster ...
2023-12-04 14:45:56 Ready to start all DB ...
2023-12-04 14:45:56 begin to start DB on "[10.0.0.225]".
2023-12-04 14:45:56 DB on "[10.0.0.225]" already started, connect to check it.
2023-12-04 14:45:57 DB on "[10.0.0.225]" start success.
2023-12-04 14:45:57 Try to ping trusted_servers on host 10.0.0.225 ...
2023-12-04 14:45:59 Try to ping trusted_servers on host 10.0.0.8 ...
2023-12-04 14:46:02 begin to start DB on "[10.0.0.8]".
2023-12-04 14:46:02 DB on "[10.0.0.8]" already started, connect to check it.
2023-12-04 14:46:03 DB on "[10.0.0.8]" start success.
ID | Name | Role | Status | Upstream | Location | Priority | Timeline | LSN_Lag | Connection string
----+-------+---------+-----------+----------+----------+----------+----------+---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------
1 | node1 | primary | * running | | default | 100 | 1 | | host=10.0.0.225 user=esrep dbname=esrep port=54322 connect_timeout=10 keepalives=1 keepalives_idle=2 keepalives_interval=2 keepalives_count=3 tcp_user_timeout=9000
2 | node2 | standby | running | node1 | default | 100 | 1 | 0 bytes | host=10.0.0.8 user=esrep dbname=esrep port=54322 connect_timeout=10 keepalives=1 keepalives_idle=2 keepalives_interval=2 keepalives_count=3 tcp_user_timeout=9000
2023-12-04 14:46:03 The primary DB is started.
2023-12-04 14:46:03 begin to start repmgrd on "[10.0.0.225]".
[2023-12-04 14:46:03] [NOTICE] using provided configuration file "/data/kingbase/cluster/kingbase/bin/../etc/repmgr.conf"
[2023-12-04 14:46:03] [NOTICE] redirecting logging output to "/data/kingbase/cluster/kingbase/log/hamgr.log"
2023-12-04 14:46:05 repmgrd on "[10.0.0.225]" start success.
2023-12-04 14:46:05 begin to start repmgrd on "[10.0.0.8]".
[2023-12-04 14:46:05] [NOTICE] using provided configuration file "/data/kingbase/cluster/kingbase/bin/../etc/repmgr.conf"
[2023-12-04 14:46:05] [NOTICE] redirecting logging output to "/data/kingbase/cluster/kingbase/log/hamgr.log"
2023-12-04 14:46:06 repmgrd on "[10.0.0.8]" start success.
ID | Name | Role | Status | Upstream | repmgrd | PID | Paused? | Upstream last seen
----+-------+---------+-----------+----------+---------+-------+---------+--------------------
1 | node1 | primary | * running | | running | 21801 | no | n/a
2 | node2 | standby | running | node1 | running | 7701 | no | 1 second(s) ago
[2023-12-04 14:46:07] [NOTICE] redirecting logging output to "/data/kingbase/cluster/kingbase/log/kbha.log"
[2023-12-04 14:46:08] [NOTICE] redirecting logging output to "/data/kingbase/cluster/kingbase/log/kbha.log"
2023-12-04 14:46:08 Done.
[INSTALL] start up the whole cluster ... OK
2.2.5 配置环境变量
# 使用kingbase
cd
vim .bash_profile
# 在PATH 后面添加:/data/kingbase/cluster/kingbase/bin
# 修改完成后
source .bash_profile
2.2.6 集群命令
# 集群检查
repmgr cluster show
#集群一键启停
sys_monitor.sh stop
sys_monitor.sh start
更多推荐
已为社区贡献1条内容
所有评论(0)