暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

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

原创 shunwah 2024-12-09
1040

作者:ShunWah

在运维管理领域,我拥有多年深厚的专业积累,兼具坚实的理论基础与广泛的实践经验。我始终站在技术前沿,致力于推动运维自动化,不懈追求运维效率的最大化。

我精通运维自动化流程,对于OceanBase、MySQL等多种数据库的部署与运维,具备从初始部署到后期维护的全链条管理能力。凭借OceanBase的OBCA和OBCP认证、OpenGauss社区认证结业证书,以及崖山DBCA、亚信AntDBCA、翰高HDCA、GBase 8a | 8c | 8s、Galaxybase GBCA、Neo4j Graph Data Science Certification、NebulaGraph NGCI & NGCP等多项权威认证,我不仅展现了自己的专业技能,也彰显了对技术的深厚热情与执着追求。

在OceanBase & 墨天轮的技术征文大赛中,我凭借卓越的技术实力和独特的见解,多次荣获一、二、三等奖。同时,在OpenGauss第五届、第六届、第七届技术征文大赛,TiDB社区第三届专栏征文大赛,金仓数据库有奖征文活动,以及首批YashanDB「产品体验官」尝鲜征文等活动中,我也屡获殊荣。此外,我还活跃于墨天轮、CSDN等技术平台,经常发布原创技术文章,并多次被首页推荐,积极与业界同仁分享我的运维经验和独到见解。

image.png

引言

崖山数据库(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服务端和客户端的区别

YashanDB服务端和客户端安装的主要差别在于它们的目的、功能以及安装过程中的具体步骤。以下是两者之间的详细区别:

1、YashanDB 服务端安装

1.1 目的

提供数据库服务:服务端是整个数据库系统的核心,负责数据的存储、管理和处理请求。它为客户端应用程序提供了访问数据库的能力。

1.2 功能

数据存储与管理:处理数据的插入、查询、更新和删除操作。
并发控制:管理多个用户或应用对同一数据的同时访问。
事务管理:确保数据操作的一致性和完整性。
性能优化:通过索引、缓存等机制提升查询效率。
备份与恢复:定期进行数据备份,并能在故障时快速恢复。

2、YashanDB 客户端安装

2.1 目的

• 连接和服务交互:
客户端用于连接到YashanDB服务端,执行SQL语句或API调用来操作数据。

2.2 功能

• 用户界面或命令行工具:提供图形化界面或CLI供开发者和管理员操作数据库。
• 开发接口:支持多种编程语言的驱动程序,使应用程序能够与数据库交互。
• 结果展示:显示查询结果,帮助用户分析和理解数据。

简而言之,服务端安装关注于搭建一个可以独立运作的数据库系统,而客户端安装则是为了方便用户和开发者与这个系统进行交互。服务端通常部署在专用的服务器上,而客户端可以在任何需要访问数据库的位置安装,包括开发者的本地机器或是生产环境的应用服务器。两者都至关重要,共同构成了完整的数据库解决方案。

总结

本文详细介绍了YashanDB 23.2版本的安装部署过程,包括安装前准备、服务端安装以及客户端安装。通过遵循本文的步骤,用户可以快速上手并成功部署YashanDB数据库系统。在实际应用中,用户还可以根据具体需求进行进一步的配置和优化,以提高数据库的性能和稳定性。
此过程中,务必仔细阅读官方文档,严格遵守指导方针,以确保安装过程顺利进行。还有,实际安装时应参考最新的官方文档,因为软件更新可能会引入新的特性和变化。如果您遇到任何问题,不要犹豫,联系技术支持团队获取帮助。

最后修改时间:2024-12-11 16:27:45
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论