准备规划,
使用虚拟机workstation 14, 安装环境
CPU: 1, 内存2G
os radhel linux 7.5
二台虚拟机
二块网卡(添加网卡后,不设置)
绑定网卡IP: 192.168.10.10/11
集群绑定IP:
数据库vip:192.168.10.13
集群VIP:192.168.10.14
磁盘规划
/ 30g
/home/kingbase/cluster 30G
/home/kingbase/kdata 50G
/home/kingbase/ksoft 40G
整体配置过程思路:
1.安装系统环境
2.绑定网卡
3.系统参数配置,创建用户,创建相关数据存放文件夹
4.磁盘规划 lvm逻辑卷
5.客户端工具安装
6.配置集群及数据库,配置节点,配置主备同步
7.集群状态检查,测试数据
8.故障模拟 主节点重启
9.集群切换检查
10.检查集群信息
操作如下:
1.系统安装(省略)
注意:添加3块磁盘,二块网卡
2.网卡绑定(可单网卡)
2.1 nmcli device 查看状态 如二块网卡(ens32,ens34)
nmcli connection delete ens32/ens34 清除网卡信息
创建虚拟网卡team0
nmcli connection add con-name team0 type team ifname team0 config'{"team0": "activebackup"}'
添加IP
nmcli connection modify team0 ipv4.addresses 192.168.10.10/24 ipv4 gateway 192.168.10.1 connection.autoconnect yes ipv4.method manual
绑定网卡
nmcli connection add type team-slave con-name team0-slave1 ifname ens32 master team0
nmcli connection add type team-slave con-name team0-slave2 ifname ens34 master team0
启动网卡
nmcli connection up team0;
teamdctl team0 state
查看状态
nmcli device
ifconfig team0
3.创建用户,创建相关存储文件夹,系统参数配置
创建组和用户
groupadd kingbase
useradd -m -d /home/kingbase -g kingbase kingbase
echo kingbase |passwd --stdin kingbase --设置用户密码
创建相应目录
mkdir -p /home/kingbase/cluster
mkdir -p /home/kingbase/kdata
mkdir -p /home/kingbase/ksoft
chown -R kingbase:kingbase /home/kingbase/cluster
chown -R kingbase:kingbase /home/kingbase/kdata
chown -R kingbase:kingbase /home/kingbase/ksoft
chmod -R 775 /home/kingbase/cluster
chmod -R 775 /home/kingbase/kdata
chmod -R 775 /home/kingbase/ksoft
3.1 系统参数设置
配置hosts文件
vi /etc/hosts
192.168.10.10 ktva
192.168.10.11 ktvb
修改SSH配置
vi /etc/ssh/sshd_config
PermitRootLogin yes --去掉注释
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
修改用户资源限制
vi /etc/security/limits.conf --添加如下内容
kingbase hard nofile 65536
kingbase soft nofile 65536
kingbase hard nproc 65536
kingbase soft nproc 65536
kingbase hard core 65536
kingbase soft core 65536
vi /etc/security/limits.d/20-nproc.conf --添加如下内容
kingbase soft nproc 56636
修改信号量(内存参数配置)(根据物理内存大小配置)
vi /etc/sysctl.conf --添加如下内容
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
sysctl -p --配置生效
修改磁盘IP调度 --添加如下内容
vi /etc/rc.d/rc.local
touch /var/lock/subsys/local
echo deadline > /sys/block/sda/queue/scheduler
echo deadline > /sys/block/sdb/queue/scheduler
echo deadline > /sys/block/sdc/queue/scheduler
修改ipc,重启相关服务
vi /etc/systemd/logind.conf
RemoveIPC=no --去掉注释
systemctl daemon-reload
systemctl restart systemd-logind.service
systemctl enable systemd-logind.service
确认并修改kingbase相关文件的属主和权限
su - kingbase
cluster,kdata,ksoft 是kingbase和读写执行权限
4.磁盘规划 lvm逻辑卷
fdisk -l 查看所有磁盘
格式化磁盘 建议一个盘一个分区
fdisk /dev/sdb
fdisk /dev/sdc
fdisk /dev/sdd
lsblk 查看
4.1 创建卷组 pv-vg-lv
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1
vgcreate clusterVG /dev/sdb1
vgcreate dataVG /dev/sdc1
vgcreate softVG /dev/sdd1
lvcreate -n clusterlv -l 100%FREE clusterVG
lvcreate -n datalv -l 100%FREE dataVG
lvcreate -n softlv -l 100%FREE softVG
查看
pvs
vgs
lvs
格式化
mkfs.xfs /dev/clusterVG/clusterlv
mkfs.xfs /dev/dataVG/datalv
mkfs.xfs /dev/softVG/softlv
把路径添加到启动文件
(blkid 查看磁盘的UUID)
vi /etc/fstab --添加如下内容
/dev/clusterVG/clusterlv /home/kingbase/cluster xfs default 0 0
/dev/dataVG/datalv /home/kingbase/kdata xfs default 0 0
/dev/softVG/softlv /home/kingbase/ksoft xfs default 0 0
挂载
mount -a
5.客户端工具安装
5.1 上传数据库安装包到ktva节点
5.2 解压,使用kingbase用户登录
启动图形安装向导
cd ksoft/kingbaseES_xx_install
./setup.sh
选择client选项安装 直到完成。
6.配置集群及数据库,配置节点,配置主备同步
节点1 kingbase用户登录 ktva上操作
启动图形安装向导(kingbaseES V8 -- easyDeploy )
6.1 新建节点-创建节点
主备同步 - 新建主备同步
按提示配置数据库集群相关信息
部署完成后可看到集群的拓扑信息
7.集群状态检查,测试数据
7.1 集群状态
pcp_watchdog_info -Ukingbase -W123456
或
ksql -h192.168.10.14 -p9999 -USYSTEM -W123456
show case_sensitive; 是否大小写敏感
show pool_nodes; 主从配置信息
7.2 查看备机的状态
show pool_nodes;
select * from sys_stat_replication;
7.3 测试主节点数据读写操作
在主库
\d 查看当前用户下的表
创建表,插入数据
create table test01(id int);
insert into select generate_series(1,100000);
到备库检查数据
\d 是否看到创建的表
select * from sys_replication_slots;
8.故障模拟 主节点重启
查看集群状态
pcp_watchdog_info -Ukingbase -W123456
ksql -h192.168.10.14 -p9999 -USYSTEM -W123456 -dTEST
show pool_nodes;
8.1 节点KTVA重启系统
ksql -h192.168.10.14 -p9999 -USYSTEM -W123456 -dTEST
show pool_nodes 会看到节点ktva节点状态为down
重启好后再查看
pcp_watchdog_info -Ukingbase -w123456
ksql -h192.168.10.14 -p9999 -USYSTEM -W123456 -dTEST
show pool_nodes;
会看到原主从调换,自动主备切换
9.停止集群环境
查看数据库进程及文件目录
ps -ef|grep -i kingbase |grep -i data
kingbase_monitor.sh stop --停集群数据库
连接
ln -s 源目录 目标目录
kingbase_monitor.sh start --启集群数据库
查看状态
pcp_watchdog_info -U kingbase -w123456
ksql -h192.168.10.14 -p9999 -USYSTEM -W123456 -dTEST
show pool_nodes;
数据文件的表空间使用情况
\d
select * from dba_objects where object_name='TEST02' 查看对象ID
select * from sys_stat_database; 查看库的datid号
再查看目录 找到库id文件名下的对象Id号文件名
9.集群切换检查
9.1 模拟主节点ktvb重启
当前集群状态
pcp_watchdog_info -U Kingbase -W 1234556
ksql -h 192.168.10.14 -p9999 -USYSTEM -W123456 -dTEST
show pool_nodes;
ktvb重启(主库)
查看
show pool_nodes; 状态显示down
pcp_watchdog_info -Ukingbase -W123456
ksql -h192.168.10.14 -p9999 -USYSTEM -W123456 -dTEST
show pool_nodes
select * from sys_stat_replication;
select * from sys_replication_slots;
10.检查集群信息
pcp_watchdog_info -Ukingbase -W123456
ksql -h 192.168.10.14 -p9999 -USYSTEM -W123456 -dTEST
show pool_nodes;