崖山数据库 YashanDB 23.2.4 个人版安装部署攻略

引言

        崖山数据库(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 ~]# 

image.png

[root@worker2 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:            31G        1.5G         22G        584K        7.0G         29G
Swap:            0B          0B          0B

image.png

[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

image.png

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 ~]# 

image.png

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

image.png

在文件的最后添加如下内容后保存退出:

yashan  ALL=(ALL)NOPASSWD:ALL

image.png

最后,如该文件初始为只读,恢复其属性:

[root@worker2 etc]# chmod -w sudoers
[root@worker2 etc]# 

image.png

5、将yashan用户加入到YASDBA用户组。
[root@worker2 etc]# groupadd YASDBA
[root@worker2 etc]# usermod -a -G YASDBA yashan
[root@worker2 etc]# 

image.png

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]# 

image.png

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]# 

image.png

操作系统参数调整有如下两种方式,请根据自身需求选择其一进行配置:

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]# 

image.png

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.

image.png

8、软件包准备

前往YashanDB的官方下载中心,获取对应版本的数据库软件包。
本文示例使用的 YashanDB 个人版 软件包名称为yashandb-personal-23.2.4.100-linux-x86_64.tar.gz。

image.png

个人版:YashanDB面向个人用户推出的免费试用版本,除不支持多模数据类型、高级安全能力、数据库集群等企业级功能,该版本包含YashanDB数据库所有基础核心能力,支持单机主备部署形态,配套开发者工具,供个人用户或开发者用于学习、测试、开发用途。

image.png

二、YashanDB服务端安装

1、创建安装目录

在服务器上创建一个用于存放YashanDB安装包的目录,例如install。

1.1 执行如下命令切换至yashan用户:
[root@worker2 ~]# su yashan
[yashan@worker2 root]$ cd ~
[yashan@worker2 ~]$ 

image.png

1.2执行如下命令创建目录install:
[yashan@worker2 ~]$ mkdir install

image.png

2、获取并解压安装包

执行如下命令进入目录install,此时用户所在路径为/home/yashan/install:

[yashan@worker2 ~]$ cd install/
[yashan@worker2 install]$ pwd
/home/yashan/install
[yashan@worker2 install]$ 

image.png

2.1 将下载好的YashanDB安装包上传至install目录中。

image.png

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]$ 

image.png

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]$

image.png

在生成过程中,需要指定服务器的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]$ 

image.png

根据生成的参数文件,执行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

image.png


解决办法创建目录重新安装

**目录加执行权限**
[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]$ 

image.png

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]$ 

image.png

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]$ 

image.png

如~/.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]$ 

image.png

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]$ 

image.png

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>

image.png

部署过程中,系统会检查安装环境的完整性,并启动数据库服务。

三、YashanDB客户端安装

1、创建安装用户

在服务端所在服务器的另一用户中创建用于安装YashanDB客户端的用户。

1.1 切换至root用户,并执行如下命令创建新用户yasdb:
[root@worker2 ~]# useradd yasdb
[root@worker2 ~]# 

image.png

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 ~]# 

image.png

2、创建安装目录

为客户端安装包创建一个存放目录,例如yashandb_client。

2.1 执行如下命令切换至yasdb用户:
[root@worker2 ~]# su yasdb
[yasdb@worker2 root]$ cd ~
[yasdb@worker2 ~]$ 

image.png

2.2 执行如下命令创建目录 yashandb_client :
[yasdb@worker2 ~]$ mkdir yashandb_client
[yasdb@worker2 ~]$ 

image.png

3、解压安装包
3.1 将下载好的YashanDB客户端安装包上传至yashandb_client目录中。

image.png

image.png

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]$ 

image.png

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]$ 

image.png

配置环境变量
根据需要配置环境变量,以便在命令行中方便地调用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

image.png

通过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> 

image.png

服务端配置调整(如需要)
如果服务端的监听地址被修改为非本地地址,则需要确保客户端能够访问该地址。
如需修改监听地址,可以重启数据库服务端并指定新的监听地址。
如部署服务端时没有对监听地址参数进行修改,则服务端的监听地址默认为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> 

image.png


如需要执行如下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

image.png

总结

        本文为大家详细梳理了 YashanDB 23.2 版本的安装部署流程,涵盖安装前的环境准备、服务端安装以及客户端配置等关键环节。按照本文提供的步骤操作,即使是新手用户也能轻松上手,顺利完成 YashanDB 数据库系统的部署。

       在实际部署过程中,建议大家根据具体业务需求,进一步调整相关配置,优化数据库性能,确保系统的稳定运行。需要特别提醒的是,安装过程中一定要仔细阅读官方文档,严格按照指南操作,这样才能避免不必要的问题。

       另外,由于软件版本更新较快,可能会引入新的功能或配置变化,因此建议友友们在实际安装时参考最新的官方文档。如果在安装过程中遇到任何问题,不要犹豫,及时联系技术支持团队获取帮助。希望本文能为大家的数据库部署之旅提供一些实用的参考!