引言
崖山数据库(YashanDB)作为新一代高性能数据库系统,以其卓越的性能和稳定性赢得了广泛的关注。本文将详细介绍YashanDB 23.2版本的安装部署过程,涵盖安装前准备、服务端安装以及客户端安装,旨在帮助用户快速上手并成功部署该数据库系统。
一、安装前准备
在安装YashanDB之前,需要进行一系列的前期准备工作,以确保安装过程的顺利进行。
1、演示环境如下:
操作系统 CPU 内存
CentOS Linux x86_64 32G
操作系统 | CPU | 内存 |
---|---|---|
CentOS Linux 7.4 | x86_64 | 32G |
[root@worker2 ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@worker2 ~]#
[root@worker2 ~]# free -h
total used free shared buff/cache available
Mem: 31G 1.5G 22G 584K 7.0G 29G
Swap: 0B 0B 0B
[root@worker2 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos_caip122-root ext4 42G 31G 8.2G 79% /
devtmpfs devtmpfs 16G 0 16G 0% /dev
tmpfs tmpfs 16G 0 16G 0% /dev/shm
tmpfs tmpfs 16G 584K 16G 1% /run
tmpfs tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/sda2 ext4 190M 93M 83M 53% /boot
/dev/sdb1 xfs 100G 22G 78G 22% /data
/dev/sdc1 xfs 100G 33M 100G 1% /redo
2、服务器准备
操作系统:本文示例环境为CentOS Linux x86_64,建议使用相同或兼容的操作系统版本。
硬件配置:根据个人开发环境的最小配置要求,服务器应具备足够的CPU和内存资源。例如,本文示例环境配置为32G内存。
项目 | 描述 |
---|---|
操作系统 | CentOS 7.6,kylin V10 |
CPU | X86_64,ARM64 2C |
内存 | 4G |
硬盘 | 50G |
文件系统 | ext4或xfs |
网络 | 千兆以太网,支持TCP和UDP链接 |
3、创建安装用户
为了安全和管理的便利性,建议创建一个新用户来安装YashanDB数据库。
切换至root用户,并执行如下命令创建新用户yashan:
[root@worker2 ~]# useradd yashan
[root@worker2 ~]#
4、配置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
在文件的最后添加如下内容后保存退出:
yashan ALL=(ALL)NOPASSWD:ALL
最后,如该文件初始为只读,恢复其属性:
[root@worker2 etc]# chmod -w sudoers
[root@worker2 etc]#
5、将yashan用户加入到YASDBA用户组。
[root@worker2 etc]# groupadd YASDBA
[root@worker2 etc]# usermod -a -G YASDBA yashan
[root@worker2 etc]#
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]#
7、操作系统参数调整
根据YashanDB数据库的资源限制要求,调整操作系统的相关参数。
下表为YashanDB数据库所需的资源限制值的最小要求,请根据下表所示将资源限制值调整为大于或等于最小要求的值。
资源项 | 描述 | 推荐值 |
---|---|---|
open files | 文件句柄 | 1048576 |
max user processes | 最大用户线程数 | 1048576 |
max memory size | 最大内存限制 | unlimited |
stack size | 堆栈大小 | 8192 |
7.1 查看系统的所有资源限制值
可以使用ulimit命令查看当前系统的资源限制值,并根据需要进行调整。
[root@worker2 etc]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 128553
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 65536
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 32000
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
[root@worker2 etc]#
操作系统参数调整有如下两种方式,请根据自身需求选择其一进行配置:
7.2 配置参数临时生效
执行如下命令使新配置的资源限制值临时生效,重启操作系统后无效:
# ulimit -n 1048576
# ulimit -u 1048576
# ulimit -m unlimited
# ulimit -s 8192
7.3 配置参数永久生效
参数调整可以通过临时修改或永久写入/etc/security/limits.conf文件来实现。
执行如下命令将参数写入/etc/security/limits.conf文件,重启操作系统后参数永久生效:
[root@worker2 etc]# echo "
>
> * soft nofile 1048576
>
> * hard nofile 1048576
>
> * soft nproc 1048576
>
> * hard nproc 1048576
>
> * soft rss unlimited
>
> * hard rss unlimited
>
> * soft stack 8192
>
> * hard stack 8192
>
> " >> /etc/security/limits.conf
[root@worker2 etc]#
7.4 重启服务器
[root@worker2 etc]# 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.
8、软件包准备
前往YashanDB的官方下载中心,获取对应版本的数据库软件包。
本文示例使用的 YashanDB 个人版 软件包名称为yashandb-personal-23.2.4.100-linux-x86_64.tar.gz。
个人版:YashanDB面向个人用户推出的免费试用版本,除不支持多模数据类型、高级安全能力、数据库集群等企业级功能,该版本包含YashanDB数据库所有基础核心能力,支持单机主备部署形态,配套开发者工具,供个人用户或开发者用于学习、测试、开发用途。
二、YashanDB服务端安装
1、创建安装目录
在服务器上创建一个用于存放YashanDB安装包的目录,例如install。
1.1 执行如下命令切换至yashan用户:
[root@worker2 ~]# su yashan
[yashan@worker2 root]$ cd ~
[yashan@worker2 ~]$
1.2执行如下命令创建目录install:
[yashan@worker2 ~]$ mkdir install
2、获取并解压安装包
执行如下命令进入目录install,此时用户所在路径为/home/yashan/install:
[yashan@worker2 ~]$ cd install/
[yashan@worker2 install]$ pwd
/home/yashan/install
[yashan@worker2 install]$
2.1 将下载好的YashanDB安装包上传至install目录中。
2.2 使用tar命令解压安装包,并查看解压后的文件结构。
[yashan@worker2 install]$ ls
yashandb-personal-23.2.4.100-linux-x86_64.tar.gz
[yashan@worker2 install]$ tar -zxf yashandb-personal-23.2.4.100-linux-x86_64.tar.gz
[yashan@worker2 install]$ ll
total 185444
drwxrwxr-x 6 yashan yashan 4096 Sep 4 17:28 admin
drwxrwxr-x 2 yashan yashan 4096 Sep 4 17:28 bin
drwxrwxr-x 2 yashan yashan 4096 Sep 4 17:28 conf
drwxrwxr-x 4 yashan yashan 4096 Sep 4 17:28 ext
-rw-rw-r-- 1 yashan yashan 10701 Sep 4 17:28 gitmoduleversion.dat
drwxrwxr-x 2 yashan yashan 4096 Sep 4 17:28 include
drwxrwxr-x 3 yashan yashan 4096 Sep 4 17:28 java
drwxrwxr-x 2 yashan yashan 4096 Sep 4 17:28 lib
-rw-r----- 1 yashan yashan 14989 Sep 4 17:28 LICENSE
drwxrwxr-x 3 yashan yashan 4096 Sep 4 17:28 plug-in
drwxrwxr-x 2 yashan yashan 4096 Sep 4 17:28 scripts
-rw-r--r-- 1 root root 189824423 Dec 6 15:49 yashandb-personal-23.2.4.100-linux-x86_64.tar.gz
[yashan@worker2 install]$
3、生成安装参数文件
执行yasboot命令生成安装参数文件。
执行如下命令生成安装参数文件,ssh登录密码为创建yashan用户时指定的密码,请将–ip参数后面的值更换成安装服务端所在服务器的IP地址(使用127.0.0.1会导致客户端无法连接至服务端):
[yashan@worker2 install]$ ./bin/yasboot package se gen --cluster yashandb -u yashan -p 密码 --ip 172.10.1.122 --port 22 --install-path /data/yashan/yasdb_home --data-path /data/yashan/yasdb_data --begin-port 1688
host host0001 openssl version: OpenSSL 1.1.1w 11 Sep 2023
OpenSSL version is 1.1.1 or greater
hostid | group | node_type | node_name | listen_addr | replication_addr | data_path
------------------------------------------------------------------------------------------------------------
host0001 | dbg1 | db | 1-1 | 172.10.1.122:1688 | 172.10.1.122:1689 | /data/yashan/yasdb_data
----------+-------+-----------+-----------+-------------------+-------------------+-------------------------
Generate config completed
[yashan@worker2 install]$
在生成过程中,需要指定服务器的IP地址、SSH登录密码、安装路径和数据路径等关键信息。
4、执行安装
执行如下命令安装YashanDB数据库,如实际安装数据库版本与示例中版本不同,请将-i参数后的软件包名称更改成实际名称:
[yashan@worker2 install]$
[yashan@worker2 install]$ ./bin/yasboot package install -t hosts.toml -i yashandb-personal-23.2.4.100-linux-x86_64.tar.gz
host host0001 openssl version: OpenSSL 1.1.1w 11 Sep 2023
OpenSSL version is 1.1.1 or greater
checking install package...
install version: yashandb 23.2.4.100
host0001 100% [====================================================================] 3s
update host to yasom...
[yashan@worker2 install]$
根据生成的参数文件,执行yasboot命令进行YashanDB数据库的安装。
安装过程中,系统会自动配置数据库环境并创建必要的目录和文件。
此处创建目录报错了
[yashan@worker2 install]$ ./bin/yasboot package install -t hosts.toml -i yashandb-personal-23.2.4.100-linux-x86_64.tar.gz
host host0001 openssl version: OpenSSL 1.1.1w 11 Sep 2023
OpenSSL version is 1.1.1 or greater
checking install package...
install version: yashandb 23.2.4.100
host0001 0% [--------------------------------------------------------------------] ---
host0001 failed, 102, 创建远程文件夹失败:, Process exited with status 1:mkdir: cannot create directory ‘/data/yashan’: Permission denied
package install failed
解决办法创建目录重新安装
**目录加执行权限**
[root@worker2 yashan]# chown -R yashan /data/yashan/
**或重新创建目录**
[yashan@worker2 install]$ sudo mkdir /data/yashan
[yashan@worker2 install]$ sudo mkdir /data/yashan/yasdb_home
[yashan@worker2 install]$ sudo mkdir /data/yashan/yasdb_data
[yashan@worker2 install]$
5、执行部署
安装完成后,执行yasboot cluster deploy命令进行数据库的部署。
[yashan@worker2 install]$
[yashan@worker2 install]$ ./bin/yasboot cluster deploy -t yashandb.toml
type | uuid | name | hostid | index | status | return_code | progress | cost
------------------------------------------------------------------------------------------------------------
task | 3bddeff0501ba04d | DeployYasdbCluster | - | yashandb | SUCCESS | 0 | 100 | 8
------+------------------+--------------------+--------+----------+---------+-------------+----------+------
task completed, status: SUCCESS
[yashan@worker2 install]$
6、配置环境变量:
[yashan@worker2 install]$ cd /data/yashan/yasdb_home/yashandb/23.2.4.100/conf/
[yashan@worker2 conf]$ ls
database_options.json profile.toml sqlhtml.template yasreport.template yfs_options.json
monit sqlcollect.toml yashandb.bashrc ycs_options.json
[yashan@worker2 conf]$ cat yashandb.bashrc >> ~/.bashrc
[yashan@worker2 conf]$ source ~/.bashrc
[yashan@worker2 conf]$
如~/.bashrc中已存在YashanDB相关的环境变量,将其清除
执行如下命令设置YashanDB数据库中sys用户的密码(命令中的newpasswd请替换为实际密码):
[yashan@worker2 conf]$ yasboot cluster password set -n ******* -c yashandb
type | uuid | name | hostid | index | status | return_code | progress | cost
----------------------------------------------------------------------------------------------------------
task | e6e16ce480077220 | YasdbPasswordSet | - | yashandb | SUCCESS | 0 | 100 | 2
------+------------------+------------------+--------+----------+---------+-------------+----------+------
task completed, status: SUCCESS
[yashan@worker2 conf]$
7、查看YashanDB数据库状态
执行如下命令查看YashanDB数据库状态,如显示出数据库状态信息即为安装成功:
[yashan@worker2 conf]$ yasboot cluster status -c yashandb
host_id | node_type | nodeid | pid
---------------------------------------
host0001 | db | 1-1:1 | 56983
----------+-----------+--------+-------
[yashan@worker2 conf]$
8、查看YashanDB数据库状态
执行如下命令连接数据库(命令中的newpasswd请替换为实际密码):
[yashan@worker2 conf]$ yasql sys/sys@172.10.1.122:1688
YashanDB SQL Personal Edition Release 23.2.4.100 x86_64
YAS-02143 invalid username/password, login denied
please input user name: sys
please input password:
Connected to:
YashanDB Server Personal Edition Release 23.2.4.100 x86_64 - X86 64bit Linux
SQL>
部署过程中,系统会检查安装环境的完整性,并启动数据库服务。
三、YashanDB客户端安装
1、创建安装用户
在服务端所在服务器的另一用户中创建用于安装YashanDB客户端的用户。
1.1 切换至root用户,并执行如下命令创建新用户yasdb:
[root@worker2 ~]# useradd yasdb
[root@worker2 ~]#
1.2 执行如下命令为用户yasdb指定密码:
[root@worker2 ~]# passwd yasdb
Changing password for user yasdb.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@worker2 ~]#
2、创建安装目录
为客户端安装包创建一个存放目录,例如yashandb_client。
2.1 执行如下命令切换至yasdb用户:
[root@worker2 ~]# su yasdb
[yasdb@worker2 root]$ cd ~
[yasdb@worker2 ~]$
2.2 执行如下命令创建目录 yashandb_client :
[yasdb@worker2 ~]$ mkdir yashandb_client
[yasdb@worker2 ~]$
3、解压安装包
3.1 将下载好的YashanDB客户端安装包上传至yashandb_client目录中。
3.2 使用tar命令解压安装包,并查看解压后的文件结构。
执行如下命令进入目录 yashandb_client,此时用户所在路径为/home/yasdb/yashandb_client:
[yasdb@worker2 ~]$ cd yashandb_client/
[yasdb@worker2 yashandb_client]$ pwd
/home/yasdb/yashandb_client
[yasdb@worker2 yashandb_client]$
3.3 将软件包上传至 yashandb_client 目录中。
执行如下命令解压软件包,并查看解压后目录中所有文件,解压命令后的软件包名称须更改为实际使用的软件包名称:
[yasdb@worker2 yashandb_client]$ ls
yashandb-client-23.3.1.100-linux-x86_64.tar.gz
[yasdb@worker2 yashandb_client]$ tar -zxf yashandb-client-23.3.1.100-linux-x86_64.tar.gz
[yasdb@worker2 yashandb_client]$ ll
total 9180
drwxrwxr-x 2 yasdb yasdb 4096 Sep 30 14:40 bin
drwxrwxr-x 2 yasdb yasdb 4096 Sep 30 14:40 include
drwxrwxr-x 2 yasdb yasdb 4096 Sep 30 14:40 lib
-rw-r--r-- 1 root root 9383139 Dec 6 17:17 yashandb-client-23.3.1.100-linux-x86_64.tar.gz
[yasdb@worker2 yashandb_client]$
配置环境变量
根据需要配置环境变量,以便在命令行中方便地调用YashanDB客户端工具。
执行如下命令使用vi编辑器打开文件~/.bashrc:
[yasdb@worker2 yashandb_client]$ vi ~/.bashrc
通过i键打开输入模式,并将如下内容输入至文件中:
export PATH=$PATH:/home/yasdb/yashandb_client/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/yasdb/yashandb_client/lib
通过Esc键退出输入模式,然后输入:wq保存并关闭文件:
执行如下命令生效环境变量:
[yasdb@worker2 yashandb_client]$ source ~/.bashrc
[yasdb@worker2 yashandb_client]$
连接YashanDB服务端
使用yasql工具连接至YashanDB服务端。
在连接过程中,需要指定服务端的IP地址、端口号以及sys用户的密码。
执行如下命令连接至YashanDB服务端,请将password更改成设置的sys用户密码,ip:port更换成服务端IP地址及端口号:
[yasdb@worker2 yashandb_client]$ yasql sys/sys@172.10.1.122:1688
YashanDB SQL Enterprise Edition Release 23.3.1.100 x86_64
YAS-02143 invalid username/password, login denied
please input user name: sys
please input password:
Connected to:
YashanDB Server Personal Edition Release 23.2.4.100 x86_64 - X86 64bit Linux
SQL>
服务端配置调整(如需要)
如果服务端的监听地址被修改为非本地地址,则需要确保客户端能够访问该地址。
如需修改监听地址,可以重启数据库服务端并指定新的监听地址。
如部署服务端时没有对监听地址参数进行修改,则服务端的监听地址默认为127.0.0.1:1688,即本地地址,此时仅支持同服务器不同用户下安装的YashanDB客户端进行连接,如位于不同服务器则无法连接至服务端,需要对服务端的监听地址进行修改。
于数据库服务端执行如下SQL命令查看监听地址参数值:
SQL>
SQL> show parameter LISTEN_ADDR;
NAME VALUE
---------------------------------------------------------------- ----------------------------------------------------------------
LISTEN_ADDR 172.10.1.122:1688
1 row fetched.
SQL>
如需要执行如下SQL命令更改监听地址,请将其修改为服务端所在IP地址及端口号:
ALTER SYSTEM SET LISTEN_ADDR = ip:port SCOPE=SPFILE;
Copied!
执行如下命令重启数据库服务端:
SQL>
SQL> SHUTDOWN;
Succeed.
SQL> exit
[yasdb@worker2 yashandb_client]$ yasboot cluster restart -c yashandb
总结
本文为大家详细梳理了 YashanDB 23.2 版本的安装部署流程,涵盖安装前的环境准备、服务端安装以及客户端配置等关键环节。按照本文提供的步骤操作,即使是新手用户也能轻松上手,顺利完成 YashanDB 数据库系统的部署。
在实际部署过程中,建议大家根据具体业务需求,进一步调整相关配置,优化数据库性能,确保系统的稳定运行。需要特别提醒的是,安装过程中一定要仔细阅读官方文档,严格按照指南操作,这样才能避免不必要的问题。
另外,由于软件版本更新较快,可能会引入新的功能或配置变化,因此建议友友们在实际安装时参考最新的官方文档。如果在安装过程中遇到任何问题,不要犹豫,及时联系技术支持团队获取帮助。希望本文能为大家的数据库部署之旅提供一些实用的参考!