作者:ShunWah
在运维管理领域,我拥有多年深厚的专业积累,兼具坚实的理论基础与广泛的实践经验。我始终站在技术前沿,致力于推动运维自动化,不懈追求运维效率的最大化。
我精通运维自动化流程,对于OceanBase、MySQL等多种数据库的部署与运维,具备从初始部署到后期维护的全链条管理能力。凭借OceanBase的OBCA和OBCP认证、OpenGauss社区认证结业证书,以及崖山DBCA、亚信AntDBCA、翰高HDCA、GBase 8a | 8c | 8s、Galaxybase GBCA、Neo4j Graph Data Science Certification、NebulaGraph NGCI等多项权威认证,我不仅展现了自己的专业技能,也彰显了对技术的深厚热情与执着追求。
在OceanBase & 墨天轮的技术征文大赛中,我凭借卓越的技术实力和独特的见解,多次荣获一、二、三等奖。同时,在OpenGauss第五届、第六届、第七届技术征文大赛,TiDB社区第三届专栏征文大赛,金仓数据库有奖征文活动,以及首批YashanDB「产品体验官」尝鲜征文等活动中,我也屡获殊荣。此外,我还活跃于墨天轮、优快云等技术平台,经常发布原创技术文章,并多次被首页推荐,积极与业界同仁分享我的运维经验和独到见解。
前言
在数字化转型的浪潮中,企业对于数据库的需求日益复杂和多样化。作为面向企业核心的通用数据库,崖山YashanDB凭借其卓越的性能和1:1平替Oracle的能力,成为了众多企业的首选。今天,我将带领大家走进YashanDB 23.2.4版本,探索如何部署其共享集群YAC,共同书写与崖山的独特故事。
崖山数据库(YashanDB)V23 LTS版本的发布标志着国产数据库技术的重大进步,特别是其共享集群架构(YAC, YashanDB Active Cluster)为企业核心业务提供了金融级高可用性和卓越性能。本文档旨在为计划部署YashanDB 23.2.4版本共享集群YAC的用户和开发者提供详尽的技术指导,涵盖从安装准备到具体配置步骤。
YashanDB服务端安装(可视化)
YashanDB提供了多种部署形态,不同形态的安装过程,尤其是初始安装参数配置部分差异较大,请根据实际需求选择相应的操作指引。
单机(主备)部署
单机(主备)部署安装指导用于搭建一个单实例单库、可用于集中式交易业务的数据库管理系统,查看数据库实例的单机部署章节可了解YashanDB单机(主备)的系统架构和所提供能力。
分布式部署
分布式部署安装指导用于搭建一个分布式数据库、可用于分布式分析业务的数据库管理系统,查看数据库实例的分布式部署章节可了解YashanDB分布式的系统架构和所提供能力。
共享集群部署 (本次测试体验共享集群部署)
共享集群部署安装指导用于搭建一个多实例单库、可用于共享集群交易业务的数据库管理系统,查看数据库实例的共享集群部署章节可了解YashanDB共享集群的系统架构和所提供能力。
一、硬件与软件环境准备工作
1、硬件与软件环境确认
在正式部署之前,我们需要确保以下几点:
硬件环境:确保服务器满足YashanDB的硬件要求,包括CPU、内存、磁盘等。
操作系统:操作系统建议使用Linux,确认目标服务器的操作系统是否支持YashanDB,并按照官方推荐进行系统更新。
1.1 服务器准备
服务器配置
项目 | 推荐配置 | 最低配置 |
---|---|---|
操作系统 | CentOS 7.6以上,KylinOS V10,openEuler 22.03 | 如需使用大页内存,则要求Linux内核版本为2.6及以上 |
CPU | X86_64,ARM64 超线程,非超线程 推荐4C及以上;共享集群推荐8C及以上 | CPU核数>2 |
内存 | 推荐16G及以上;共享集群推荐32G及以上 | >4G |
硬盘 | 推荐使用SSD 推荐存储空间50G及以上 | >4G |
文件系统 | ext4或xfs | 不能为tmpfs |
网络 | 千兆以上以太网,支持TCP和UDP;共享集群内部均要求10GE,不包含RDMA | - |
1.2 共享集群部署服务器示例
共享集群部署以两台服务器+一台共享存储为示例,搭建双实例单库的典型共享集群环境。
服务器:
服务器名称 | 服务器IP | 角色 |
---|---|---|
服务器1 | 172.10.1.121 | 数据库实例1 |
服务器2 | 172.10.1.122 | 数据库实例2 |
共享存储:(存储上已按配置要求划分三个LUN并已通过多路径的方式挂载)
LUN名称 | LUN路径 | 角色 |
---|---|---|
LUN1 | /dev/mapper/storraid5 | 数据盘 |
LUN2 | /dev/mapper/storraid10 | 投票盘 |
LUN3 | /dev/mapper/storraid15 | YCR盘 |
2、依赖库:
安装必要的软件包和依赖库,如openssl 1.0.0及以上、lz4 1.9.3及以上等,确保它们是稳定版本。
[root@worker2 soft]# yum install openssl-libs gmssl lz4 zlib zstd monit
3、安装初始环境调整
确保各节点之间的网络互通,并配置好防火墙规则。
运行YashanDB产品需要占用一系列端口(端口列表中已列示这些端口的作用及相关信息)。YashanDB制订了一套端口划分规则,并据此规则提供了安装部署过程中需要指定的端口号默认值。用户可根据自身网络规划修改端口号,但应遵循端口划分规则,以避免出现端口冲突。
3.1 端口划分规则:
一个实例需要配多个监听端口,给定初始值,其他端口缺省+1,以此类推。
一台物理服务器需要配多个实例时,给定初始值,其他实例端口缺省+10,以此类推。
分布式部署中,按照MN、CN、DN的顺序生成端口号。
单机实例或分布式CN的监听端口初始值默认为1688,对应安装步骤中的beging-port/起始端口参数。
默认端口号:
部署形态 | 数据库监听 | yasom | yasagent | 服务器间通信 |
---|---|---|---|---|
单机部署 | 1688 | 1675 | 1676 | 1689 |
分布式 | MN:1678 CN:1688 DN:1698 | 1675 | 1676 | MN:1679、1680 CN:1689、1690 DN:1699、1700 |
共享集群 | 1688 | 1675 | 1676 | 1689、1670 |
此外,需启用可视化部署Web服务的服务器,还需开放9001端口。
建议在所有服务器上开放上述端口。
3.2 关闭防火墙
在所有服务器上执行如下命令关闭防火墙、关闭开机自启
[root@worker2 ~]# systemctl stop firewalld
[root@worker2 ~]# systemctl disable firewalld
[root@worker2 ~]#
3.3 开启SSH服务
检查所有服务器上的SSH服务是否已打开:
[root@worker2 centos7_openssh-9.8]# ssh -V
OpenSSH_9.8p1, OpenSSL 3.0.14 4 Jun 2024
[root@worker2 centos7_openssh-9.8]#
3.4 操作系统参数调整
当YashanDB安装在Linux环境中时,为使系统达到更好的性能,建议进行下述配置调整。
在搭建测试环境或实验环境时,为方便问题定位,可以打开生成core文件的开关(使用ulimit -c查看当前状态),不建议在生产环境中打开此开关以免影响系统效率。具体操作如下:
打开生成core文件的开关
[root@worker1 ~]# ulimit -c unlimited
[root@worker1 ~]# vim /etc/security/limits.conf
[root@worker1 ~]#
添加以下信息并保存:
- soft core unlimited
- hard core unlimited
3.5 设置服务器hostname(共享集群)
服务器名称要求如下:
名称由字母、数字以及下划线组成,且必须以字母开头,长度为[4,64]个字符。
同一个YashanDB共享集群中的服务器名称不能相同。
建议每台服务器上只运行一个实例,若一台服务器需运行多个实例则要求将服务器名称设置为[3,63]个字符。
执行如下命令,可查看hostname。
[root@worker1 ~]# hostnamectl
Static hostname: worker1
Icon name: computer-vm
Chassis: vm
Machine ID: 5e1c7426190a424fa1b36889f7f9242a
Boot ID: 09560b4e1dad4a3f8c8989eae1217df8
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-693.el7.x86_64
Architecture: x86-64
[root@worker1 ~]#
执行如下命令,可按需设置hostname1。
[root@worker1 ~]# hostnamectl set-hostname instance1
[root@worker1 ~]# hostnamectl
Static hostname: instance1
Icon name: computer-vm
Chassis: vm
Machine ID: 5e1c7426190a424fa1b36889f7f9242a
Boot ID: 09560b4e1dad4a3f8c8989eae1217df8
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-693.el7.x86_64
Architecture: x86-64
[root@worker1 ~]#
执行如下命令,可按需设置hostname2。
[root@worker2 soft]# hostnamectl set-hostname instance2
[root@worker2 soft]# hostnamectl
Static hostname: instance2
Icon name: computer-vm
Chassis: vm
Machine ID: b50a2c0ac70f451e892ff1a28c67f121
Boot ID: 79f9c94aa7494257af78865f8d55c534
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-693.el7.x86_64
Architecture: x86-64
[root@worker2 soft]#
4、创建安装用户
为了安全和管理的便利性,建议在所有服务器上创建YashanDB产品的安装用户,而非使用root身份执行安装部署。
4.1 切换至root用户,并执行如下命令创建新用户yashan:
[root@worker2 ~]# useradd yashan
[root@worker2 ~]#
4.2 配置sudo免密,以便在安装过程中无需频繁输入密码。
首先,请打开/etc/sudoers文件,通常情况下,即使root用户都无该文件的编辑权限,此时需要先对root授权。
[root@worker2 ~]# cd /etc
[root@worker2 etc]# ll sudoers
-r--r----- 1 root root 4028 May 24 2024 sudoers
[root@worker2 etc]# chmod +w sudoers
[root@worker2 etc]# vim /etc/sudoers
4.3 在文件的最后添加如下内容后保存退出:
yashan ALL=(ALL)NOPASSWD:ALL
4.4 最后,如该文件初始为只读,恢复其属性:
[root@worker2 etc]# chmod -w sudoers
[root@worker2 etc]#
4.5 将yashan用户加入到YASDBA用户组。
[root@worker2 etc]# groupadd YASDBA
[root@worker2 etc]# usermod -a -G YASDBA yashan
[root@worker2 etc]#
4.6 执行如下命令为用户yashan指定密码:
[root@worker2 etc]# passwd yashan
Changing password for user yashan.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@worker2 etc]#
5、目录划分
HOME目录和DATA目录
所有YashanDB的实例节点都必须规划以下两个目录:
HOME目录:YashanDB的产品目录,包含YashanDB所提供的命令、数据库运行所需的库及各关键组件。该目录由yashan用户执行安装部署时输入的install-path参数根据一定规则生成并创建。
DATA目录:YashanDB的数据目录,包含数据库的各类系统数据文件、部分日志文件和配置文件,用户数据也缺省存储在该目录下。但对于共享集群,所有的数据文件和redo文件均需保存在共享存储上,DATA目录将只用于存储实例运行相关的配置文件、日志文件等数据。该目录由yashan用户执行安装部署时输入的–data-path参数根据一定规则生成并创建。
本安装手册中,HOME目录和DATA目录均规划在/data/yashan下,yashan用户需要对该目录拥有全部权限,可执行如下命令授权:
5.1 设置hostname1
[root@worker1 ~]# mkdir -p /data/yashan
[root@worker1 ~]# cd /data/
[root@worker1 data]# chmod -R 777 /data/yashan
[root@worker1 data]#
5.2 设置hostname2
[root@worker2 ~]# mkdir -p /data/yashan
[root@worker2 ~]# cd /data/
[root@worker2 data]# chmod -R 777 /data/yashan
[root@worker2 data]# cd yashan
[root@worker2 yashan]# ls
6、绑定LUN(共享集群部署)
本步骤只适用于共享集群部署,单机/分布式部署请略过。
YashanDB要求共享存储上必须规划出下述三类磁盘:
数据盘:一块或多块,根据业务实际情况规划,其中一块数据盘的路径将作为yasboot package ce gen命令的data选项参数。
投票盘:一块,建议规划为1G及以上,该盘路径将作为yasboot package ce gen命令的vote选项参数。
YCR盘:一块,建议规划为1G及以上,该盘路径将作为yasboot package ce gen命令的YCR选项参数。
基于共享存储的品牌不同,操作方式相应不同,本安装手册不对共享存储的组网和存储划分操作进行描述,建议由公司网络管理员依据所购品牌提供的安装指导完成组网和存储划分。
本安装手册既定共享存储上已划分三个LUN并已通过多路径的方式挂载,多路径名称(YashanDB要求划分LUN时所指定路径长度不超过31B)如下:
/dev/mapper/storraid5:数据盘,按规划需绑定至/dev/yas/data路径。
/dev/mapper/storraid10:投票盘,按规划需绑定至/dev/yas/vote路径。
/dev/mapper/storraid15:YCR盘,按规划需绑定至/dev/yas/ycr路径。
以下将描述在所有服务器上进行LUN绑定的操作过程:
6.1:生成配置文件
在root目录下创建名称为genDevRuleByUUID.sh的脚本文件:
输入如下内容后保存退出:
[root@worker1 ~]# vim genDevRuleByUUID.sh
#!/bin/bash
curDir=$(cd "$(dirname "$0")"; pwd)
rm -f "$curDir/yashan-device-rule.rules"
for i in sdb1 sda2 sdc1;
do
if lsblk -no UUID /dev/$i; then # 检查设备是否存在并获取其 UUID
uuid=$(lsblk -no UUID /dev/$i)
echo "KERNEL==\"sd*\", ATTR{idVendor}==\"????\", ATTR{idProduct}==\"????\", ENV{ID_FS_UUID}==\"$uuid\", SYMLINK+=\"yas/$i\", OWNER=\"yashan\", GROUP=\"YASDBA\", MODE=\"0666\"" >> "$curDir/yashan-device-rule.rules"
else
echo "Device /dev/$i not found or has no UUID"
fi
done
6.2 执行脚本,生成配置文件:
[root@worker1 ~]# sh ./genDevRuleByUUID.sh
8a19a039-80e7-4792-87de-25ee768a087f
459365a1-6637-496e-bbfa-d649f67d9ed9
659bf814-4b99-4fac-bb3f-8021aae37ff4
[root@worker1 ~]#
脚本执行成功后,会在当前路径生成名称为yashan-device-rule.rules的绑定配置文件,内容如下:
[root@worker1 ~]# cat yashan-device-rule.rules
KERNEL=="sd*", ATTR{idVendor}=="????", ATTR{idProduct}=="????", ENV{ID_FS_UUID}=="8a19a039-80e7-4792-87de-25ee768a087f", SYMLINK+="yas/sdb1", OWNER="yashan", GROUP="YASDBA", MODE="0666"
KERNEL=="sd*", ATTR{idVendor}=="????", ATTR{idProduct}=="????", ENV{ID_FS_UUID}=="459365a1-6637-496e-bbfa-d649f67d9ed9", SYMLINK+="yas/sda2", OWNER="yashan", GROUP="YASDBA", MODE="0666"
KERNEL=="sd*", ATTR{idVendor}=="????", ATTR{idProduct}=="????", ENV{ID_FS_UUID}=="659bf814-4b99-4fac-bb3f-8021aae37ff4", SYMLINK+="yas/sdc1", OWNER="yashan", GROUP="YASDBA", MODE="0666"
[root@worker1 ~]#
SYMLINK为绑定设备的别名,可修改为业务可理解的名称,例如修改为如下内容:
[root@worker1 ~]# vim yashan-device-rule.rules
KERNEL=="sd*", ATTR{idVendor}=="????", ATTR{idProduct}=="????", ENV{ID_FS_UUID}=="8a19a039-80e7-4792-87de-25ee768a087f", SYMLINK+="yas/data", OWNER="yashan", GROUP="YASDBA", MODE="0666"
KERNEL=="sd*", ATTR{idVendor}=="????", ATTR{idProduct}=="????", ENV{ID_FS_UUID}=="459365a1-6637-496e-bbfa-d649f67d9ed9", SYMLINK+="yas/vote", OWNER="yashan", GROUP="YASDBA", MODE="0666"
KERNEL=="sd*", ATTR{idVendor}=="????", ATTR{idProduct}=="????", ENV{ID_FS_UUID}=="659bf814-4b99-4fac-bb3f-8021aae37ff4", SYMLINK+="yas/ycr", OWNER="yashan", GROUP="YASDBA", MODE="0666"
6.3 部署配置文件
执行如下命令部署绑定配置文件:
[root@worker1 ~]# cp yashan-device-rule.rules /etc/udev/rules.d/yashan-device-rule.rules
[root@worker1 ~]#
同样设置hostname2
[root@worker2 ~]# vim genDevRuleByUUID.sh
[root@worker2 ~]# sh ./genDevRuleByUUID.sh
71e88077-e202-45b1-9ab2-2108df75889c
b92051bd-e120-4fa8-b5e2-12870750532f
acf00b90-97af-4860-8e14-ff705d1e98a4
[root@worker2 ~]# vim yashan-device-rule.rules
KERNEL=="sd*", ATTR{idVendor}=="????", ATTR{idProduct}=="????", ENV{ID_FS_UUID}=="71e88077-e202-45b1-9ab2-2108df75889c", SYMLINK+="yas/data", OWNER="yashan", GROUP="YASDBA", MODE="0666"
KERNEL=="sd*", ATTR{idVendor}=="????", ATTR{idProduct}=="????", ENV{ID_FS_UUID}=="b92051bd-e120-4fa8-b5e2-12870750532f", SYMLINK+="yas/vote", OWNER="yashan", GROUP="YASDBA", MODE="0666"
KERNEL=="sd*", ATTR{idVendor}=="????", ATTR{idProduct}=="????", ENV{ID_FS_UUID}=="acf00b90-97af-4860-8e14-ff705d1e98a4", SYMLINK+="yas/ycr", OWNER="yashan", GROUP="YASDBA", MODE="0666"
部署配置文件
执行如下命令部署绑定配置文件:
[root@worker2 ~]# cp yashan-device-rule.rules /etc/udev/rules.d/yashan-device-rule.rules
[root@worker2 ~]#
6.4 重启服务器
绑定配置文件的生效需要重启服务器:
[root@instance1 ~]# systemctl reboot
Connection closing...Socket close.
Connection closed by foreign host.
[root@instance2 ~]# systemctl reboot
PolicyKit daemon disconnected from the bus.
We are no longer a registered authentication agent.
Socket error Event: 32 Error: 10053.
Connection closing...Socket close.
Connection closed by foreign host.
6.5 检查绑定结果
执行如下命令,确认/dev/yas/data、/dev/yas/vote和/dev/yas/ycr已存在,且权限位为666。
[root@instance1 ~]# ls -l /dev/yas/*
在两台服务器上分别执行以下命令,确认两台服务器上/dev/yas/data、/dev/yas/vote和/dev/yas/ycr对应的WWID是否一致。
对比两台服务器上的输出结果是否对应一致
[root@instance1 ~]# ls -l /dev/yas/*
lrwxrwxrwx 1 root root 7 Dec 19 09:38 /dev/yas/data -> ../sdc1
lrwxrwxrwx 1 root root 7 Dec 19 09:38 /dev/yas/vote -> ../sdc1
lrwxrwxrwx 1 root root 7 Dec 19 09:38 /dev/yas/ycr -> ../sdc1
[root@instance1 ~]#
[root@instance2 ~]# ls -l /dev/yas/*
lrwxrwxrwx 1 root root 7 Dec 19 09:58 /dev/yas/data -> ../sdc1
lrwxrwxrwx 1 root root 7 Dec 19 09:58 /dev/yas/vote -> ../sdc1
lrwxrwxrwx 1 root root 7 Dec 19 09:58 /dev/yas/ycr -> ../sdc1
[root@instance2 ~]#
若两台服务器上同一路经所对应的WWID不一致,说明其挂载的磁阵不是同一个LUN,需联系公司网络管理员处理。
7、下载安装包
下载安装包:从YashanDB软件下载中心崖山YashanDB官网(download.yashandb.com)下载23.2.4版本的安装包。
三、共享集群部署
安装YashanDB服务端
YashanDB支持在任一服务器上下载软件包,向其他所有服务器发起并行安装,本安装手册以instance1作为安装服务器,以下步骤均在instance1上执行。
首先,我们需要按照官方文档 文档中心 的指引,完成YashanDB服务端的安装。
1. 创建install目录
在yashan用户主目录下创建一个空目录,作为安装包的存放路径。
[root@instance1 ~]# su yashan
[yashan@instance1 root]$ cd /home/yashan/
[yashan@instance1 ~]$ sudo mkdir install
[yashan@instance1 ~]$ ls
install
[yashan@instance1 ~]$
2. 解压下载的软件包
将软件包下载到/home/yashan/install目录下,并解压软件包:
以yashan用户登录172.10.1.121服务器。
[yashan@instance1 ~]$ ls
install
[yashan@instance1 ~]$ cd install/
[yashan@instance1 install]$ ls
yashandb-23.2.4.100-linux-x86_64.tar.gz
[yashan@instance1 install]$ sudo tar zxf yashandb-23.2.4.100-linux-x86_64.tar.gz
[yashan@instance1 install]$ ls
admin conf gitmoduleversion.dat java LICENSE scripts
bin ext include lib plug-in yashandb-23.2.4.100-linux-x86_64.tar.gz
[yashan@instance1 install]$
3. 获取安装工具
YashanDB所提供的软件包中包含安装工具,位于bin目录下。如执行命令行安装需使用yasboot命令,如执行可视化安装需使用yasom命令。
[yashan@instance1 install]$ ll ./bin/yasboot
-rwxrwxr-x 1 admin admin 13486576 Sep 4 17:29 ./bin/yasboot
[yashan@instance1 install]$ ll ./bin/yasom
-rwxrwxr-x 1 admin admin 23039032 Sep 4 17:29 ./bin/yasom
[yashan@instance1 install]$
在执行完本步骤后,即可进入正式的YashanDB安装过程,请根据操作偏好选择如下安装方式:
4、共享集群部署-启动Web服务
执行如下命令,进入安装目录。
[root@instance1 ~]# su yashan
[yashan@instance1 root]$ cd /home/yashan/install
[yashan@instance1 install]$ ls
admin conf gitmoduleversion.dat java LICENSE scripts
bin ext include lib plug-in yashandb-23.2.4.100-linux-x86_64.tar.gz
[yashan@instance1 install]$
执行如下命令,使用yasom启动Web服务端:
[yashan@instance1 install]$ ./bin/yasom --web --listen 172.20.2.121:9001
2024-12-19 10:40:50 INFO [console] yasom.go:123 Version: 23.2.4.100
2024-12-19 10:40:50 INFO [console] deploy.go:62 deploy manager starting...
2024-12-19 10:40:50 WARN [console] config.go:22 generate config file error: mkdir /home/yashan/install/conf/SE: permission denied
2024-12-19 10:40:50 INFO [console] static.go:21 routing vue app
2024-12-19 10:40:50 INFO [console] web.go:21 Server listen on: 172.20.2.121:9001
[YASRPC] 2024/12/19 - 10:41:15 | 307 | 153.154µs | 10.9.0.6 | GET "/"
[YASRPC] 2024/12/19 - 10:41:15 | 200 | 316.363µs | 10.9.0.6 | GET "/omweb"
[YASRPC] 2024/12/19 - 10:41:16 | 200 | 239.778811ms | 10.9.0.6 | GET "/omweb/assets/index.d4c2b775.js"
[YASRPC] 2024/12/19 - 10:41:16 | 200 | 281.629537ms | 10.9.0.6 | GET "/omweb/assets/index.a7d10a0f.css"
[YASRPC] 2024/12/19 - 10:41:16 | 200 | 294.41µs | 10.9.0.6 | GET "/omweb/assets/Deploy.4d6284ed.css"
[YASRPC] 2024/12/19 - 10:41:16 | 200 | 934.497µs | 10.9.0.6 | GET "/omweb/assets/Deploy.f44664a9.js"
[YASRPC] 2024/12/19 - 10:41:16 | 200 | 363.243µs | 10.9.0.6 | GET "/omweb/assets/favicon.c096f8ac.ico"
[YASRPC] 2024/12/19 - 10:41:17 | 200 | 179.057µs | 10.9.0.6 | GET "/omweb/api/task/deploy"
[YASRPC] 2024/12/19 - 10:41:17 | 200 | 1.38247ms | 10.9.0.6 | GET "/omweb/api/initial/info"
–web:指定以Web服务端启动。
–listen:指定监听的地址(即可视化安装的网页地址),格式为IP:PORT,通常设置为当前服务器的IP,端口推荐使用9001。
172.10.1.121:9001/omweb/
5、配置数据库基本信息与服务器信息
接下来,我们需要配置共享集群YAC。根据官方文档,我们需要编辑配置文件,设置集群节点信息、数据目录等:
数据库名称:填写数据库集群名称,该名称也将作为初始数据库的名称(database name)。必须以字母开头,长度为[1,63]个字符,例如yashandb。
数据库类型:选择数据库部署形态,例如集群。
安装包路径:填写安装包所在路径,安装用户需有该路径的操作权限,例如/home/yashan/install/yashandb-23.2.1.100-linux-x86_64.tar.gz。
插件包路径:选填参数,如需使用DBLINK功能和更丰富的内置函数(例如LSFA_LISTAGG),需先下载plugin插件包至服务器并填写插件包所在路径,安装用户需有该路径的操作权限,例如/home/yashan/install/yashandb-plugins-all-23.2.1.100-linux-x86_64.tar.gz。安装完成后,无法单独安装该插件包。
在服务器列表中,默认识别Web服务所在服务器的信息,检查确认安装路径等信息无误后单击【尝试连接】检查连通性。
单击服务器列表上方的【添加】。
在弹出的对话框中,配置其他服务器信息,单击【确定】保存配置。
主机地址:服务器的IP地址,格式:192.168.1.3或192.168.1.[3-4],允许配置多个IP地址/集,使用换行符分割。
用户名:安装用户的名称,例如yashan。
密码:可选参数,安装用户的密码,若已配置当前服务器对其他服务器SSH免密,无需填写密码。
SSH端口:SSH端口,例如22。
安装路径:数据库安装路径,即安装前划分的安装目录,例如/data/yashan/yasdb_home。
单击【全部尝试连接】检查连通性。
确认信息无误后,单击【下一步】。
6、配置服务器sudo
在数据库配置区域,可以配置以下功能:
创建cgroup:开启表示创建用于YashanDB CPU资源管理的cgoup目录,并需填写服务器其他配置区域的cgroup目录。CPU资源管理功能不适用于共享集群部署,必须设置为关闭。
开机自启monit:如需开启该功能,需先参照依赖项准备检查并确保所有服务器中已安装符合要求的monit。开启时,守护进程将在服务器开机后自行启动并拉起YashanDB的各个进程,间接实现数据库的开机自启动。
用户添加到YASDBA用户组:开启表示将安装用户加入YASDBA组,可免密登录数据库。
上述功能开启后均需安装用户具备sudo权限,本示例使用默认配置,即仅开启将用户添加到YASDBA用户组。
确认信息无误后,单击【下一步】。
7、配置集群节点信息
在弹出的节点规模配置对话框中,根据实际规划的实例数调整相关配置,单击【确定】保存信息。
集群节点数量:选择数据库实例数量。
起始端口:填写数据库监听端口的起始值,若存在多个监听端口系统会根据端口划分规则自行计算,默认值为1688。
节点默认路径:填写YashanDB的数据目录,置空则默认使用服务器安装路径下的DATA目录,安装后修改不生效,例如/data/yashan/yasdb_data。
磁阵数据存储盘路径:填写为数据盘规划的共享存储LUN路径,例如/dev/mapper/storraid5。
磁阵投票盘路径:填写为投票盘规划的共享存储LUN路径,例如/dev/mapper/storraid10。
磁阵YCR盘路径:填写为YCR盘规划的共享存储LUN路径,例如/dev/mapper/storraid15。
在yasom配置区域,可根据实际情况调整yasom所在服务器和监听端口。
yasom所在主机:默认为当前服务器IP。
LISTEN_ADDR:yasom的监听端口,默认为1675。
在yasagent配置区域,可按需调整以下配置:
yasagent LISTEN_ADDR:yasagent的监听端口,默认为1676。
DB自适应内存限制:仅当开启推荐配置时,必须配置内存限制,格式为数字 + 空/K/M/G/T,取值范围[实例数 * 1536M,服务器最大内存]。
包含节点:显示每个服务器上对应部署的数据库实例信息,带星标的实例角色为主,其他为备。可拖拽实例调整其分布。
在集群特有参数配置区域,可根据实际情况调整各磁盘对应的共享存储LUN路径。
在节点配置区域,展开数据库实例列表,单击实例名称,可查看实例信息,并可按需调整部分配置。
确认信息无误后,单击【下一步】。
8、设置建库参数
在【数据库建库参数】页面,可参考共享集群配置文件按需增/删/改建库参数,确认信息无误后,单击【下一步】。
9、设置配置参数
在【数据库节点参数】页面,可按需增/删/改各数据库实例的参数,确认信息无误后,单击【保存并下一步】。
10、部署数据库
在【数据库全局信息】页面,确认信息无误后,单击【部署】。
部署出错,根据提示报错信息处理修复:
部署任务进度达到100%时,表示部署完成,单击【退出部署程序】退出。
若不手动退出,服务端也会在一定时间内自动退出。
部署完成后,yasom会在/home/yashan/install/conf/SE/yashandb目录中生成hosts.toml和yashandb.toml文件,其中yashandb为数据库名称,此目录为安装目录。
[yashan@instance1 install]$ cd conf/SE/yashandb
[yashan@instance1 yashandb]$ ls
hosts.toml yashandb.toml
11、配置环境变量
以安装用户登录到每个服务器上,执行如下命令生效环境变量。
部署命令成功执行后将会在$YASDB_HOME目录下的conf文件夹中生成<<集群名称>>.bashrc环境变量文件
[yashan@instance1 ~]$ cd yasdb_home/yashandb/23.2.4.100/conf
[yashan@instance1 conf]$ ls
database_options.json profile.toml sqlhtml.template yasreport.template yfs_options.json
monit sqlcollect.toml yashandb23.bashrc ycs_options.json
[yashan@instance1 conf]$
如~/.bashrc中已存在YashanDB相关的环境变量,将其清除
[yashan@instance1 conf]$ sudo cat yashandb23.bashrc >> ~/.bashrc
[yashan@instance1 conf]$ source ~/.bashrc
[yashan@instance1 conf]$
12、检查安装结果
若连接报错或执行SQL语句报错,请根据错误提示信息检查安装步骤,或咨询我们的技术支持。
12.1 设置数据库sys用户的密码
YashanDB不提供系统初始口令,需使用yasboot工具设置数据库sys用户的密码,以安装用户登录到服务器并执行如下命令设置密码。
[yashan@instance1 install]$ yasboot cluster password set -n 密码 -c yashandb23
type | uuid | name | hostid | index | status | return_code | progress | cost
------------------------------------------------------------------------------------------------------------
task | 2f80dce67c3a70ac | YasdbPasswordSet | - | yashandb23 | SUCCESS | 0 | 100 | 2
------+------------------+------------------+--------+------------+---------+-------------+----------+------
task completed, status: SUCCESS
[yashan@instance2 install]$
12.2 使用yasql工具连接数据库,查看实例状态。
[yashan@instance1 install]$ yasql sys/@172.10.1.121:1688
YashanDB SQL Enterprise Edition Release 23.2.4.100 x86_64
please input password:
Connected to:
YashanDB Server Enterprise Edition Release 23.2.4.100 x86_64 - X86 64bit Linux
SQL> SELECT STATUS FROM V$INSTANCE;
STATUS
-------------
OPEN
1 row fetched.
SQL> SELECT database_name FROM v$database;
DATABASE_NAME
----------------------------------------------------------------
yashandb23
1 row fetched.
SQL>
四、总结与展望
通过本次YashanDB 23.2.4版本共享集群YAC的部署实践,我们不仅掌握了其部署流程,还对其性能有了更深入的了解。此过程中,务必仔细阅读官方文档,严格遵守指导方针,以确保安装过程顺利进行。崖山YashanDB作为一款面向企业核心的通用数据库,凭借其卓越的性能和1:1平替Oracle的能力,必将在未来的数据库市场中占据一席之地。
展望未来,我们将继续探索YashanDB的更多功能和优化技巧,为企业数字化转型提供更加坚实的技术支撑。随着对YashanDB的深入了解,相信它将为您带来更高效的数据管理和分析体验。同时,我们也期待与更多的技术大拿和爱好者一起,共同书写与崖山的独特故事!
请注意,实际部署时应参考最新的官方文档,因为软件更新可能会引入新的特性和变化。如果您遇到任何问题,不要犹豫,联系技术支持团队获取帮助。