崖山数据库(YashanDB)部署全流程详解

引言

作为国产自主可控数据库的代表,崖山数据库(YashanDB)凭借其稳定、高效的性能特点,正在国内数据库市场占据越来越重要的位置。本文将详细介绍YashanDB的安装部署流程,包括环境准备、yasboot工具使用、数据库安装、yasql连接与基本操作以及图形化工具DBeaver的配置,帮助读者快速掌握YashanDB的部署技能。

崖山数据库官网:崖山数据库官网

崖山数据库软件下载中心:YashanDB软件下载中心

本节课需要用到的软件:

yashandb-personal-23.3.1.100-linux-x86_64.tar.gz YashanDB个人版服务端

yashandb-client-23.3.1.100-windows-amd64.zip Windows客户端

第1部分:环境准备

服务器要求
YashanDB对服务器的要求因环境而异,主要包括:

操作系统:支持CentOS 7.6以上、麒麟V10等
CPU架构:支持X86_64和ARM64
实验环境:推荐2C及以上
生产环境:推荐4C及以上
内存:
实验环境:推荐4GB及以上
生产环境:推荐16GB及以上
存储:
推荐50G及以上的存储空间
生产环境建议使用SSD
文件系统:支持ext4或xfs
网络:
实验环境:百兆以上以太网
生产环境:千兆以上以太网

文档约定说明(必看)

# 符号开头,是使用root操作系统账号操作提示符。

$ 符号开头,是使用普通操作系统账号操作提示符,比如yashan用户。

SQL> 符号开头,是进入YashanDB之后的操作提示符。

初始环境调整

在安装YashanDB之前,需要进行以下环境配置:

1. 确认1688端口未被占用

# netstat -anp|grep 1688

2. 关闭防火墙(建议)

# systemctl stop firewalld
# systemctl disable firewalld

3. 内核参数调整

# echo "vm.swappiness = 0" >> /etc/sysctl.conf
# echo "net.ipv4.ip_local_port_range = 32768 60999" >> /etc/sysctl.conf
# echo "vm.max_map_count=2000000" >> /etc/sysctl.conf
# sysctl -p

4. 系统资源配置

# ulimit -n 65536
# ulimit -u 65536
# ulimit -m unlimited
# ulimit -s 8192

修改/etc/security/limits.conf文件,添加:

# vi /etc/security/limits.conf

在文件/etc/security/limits.conf后面添加以下内容

yashan soft nofile 65536
yashan hard nofile 65536
yashan soft nproc 65536
yashan hard nproc 65536
yashan soft rss unlimited
yashan hard rss unlimited
yashan soft stack 8192
yashan hard stack 8192

第2部分:yasboot工具介绍

yasboot是YashanDB配套的重要运维管理工具,用于在数据库集群环境中对YashanDB进行各种远程运维管理操作。

yasboot核心功能

  • 安装部署
  • 离线升级
  • 实例启停
  • sys账号密码设置
  • yasql工具集成
  • IP更换等

yasboot进程架构

通过yasboot安装YashanDB时,将启动两个关键进程:

yasom进程:全局只有1个,作为YashanDB运维服务进程,接收yasboot命令并进行指令下发和控制,管理yasagent进程。

yasagent进程:每台服务器1个,是无状态的运维服务进程,运行在YASDB进程所在的服务器上,接收yasom的指令并执行相应任务。

第3部分:YashanDB安装步骤

创建安装用户

# useradd yashan
# echo "yashan" |passwd --stdin yashan
# groupadd YASDBA
# usermod -a -G YASDBA yashan

配置sudo权限:

# chmod +w /etc/sudoers
# vi /etc/sudoers
# 在文件的最后添加如下内容后保存退出
yashan ALL=(ALL)NOPASSWD:ALL
# chmod -w /etc/sudoers

目录规划

YashanDB安装涉及以下目录:

  • /home/yashan/install:软件包上传目录
  • /home/yashan/yasdb_home:软件安装目录($YASDB_HOME)
  • /home/yashan/yasdb_data:数据目录($YASDB_DATA)

创建目录&上传软件包&解压:

 崖山数据库软件下载中心:YashanDB软件下载中心

# su - yashan
$ mkdir install
$ cd install
$ tar -zxf yashandb-personal-23.3.1.100-linux-x86_64.tar.gz

命令行安装流程

步骤1:生成配置文件

需要将服务器的ip和端口号修改成自己的。服务器需要放开1675,1676,1688,1689端口

$ ./bin/yasboot package se gen --cluster yashandb -u yashan -p yashan --ip 192.168.33.167 --port 22 --install-path /home/yashan/yasdb_home --data-path /home/yashan/yasdb_data --begin-port 1688

在安装YashanDB的过程中,可能会遇到OpenSSL版本过低的错误。当执行yasboot package se gen命令时,系统可能会提示需要OpenSSL 1.1及以上版本。以下是解决此问题的详细步骤。

错误信息类似:

ERROR: OpenSSL version too low. YashanDB requires OpenSSL 1.1 or higher, but current version is 1.0.2k.

首先确认当前系统使用的OpenSSL版本:

$ openssl version

CentOS 7等较旧的系统默认安装的是OpenSSL 1.0.2,但通常系统中已经安装了OpenSSL 1.1,只需要正确设置即可。

# 切换到root用户
$ su - root

# 创建root用户的bin目录
# mkdir -p /root/bin

# 创建符号链接
# ln -sf /usr/bin/openssl11 /root/bin/openssl

# 更新PATH
# echo 'export PATH=/root/bin:$PATH' >> /root/.bashrc
# source /root/.bashrc

# 验证版本
# openssl version
# 应显示 OpenSSL 1.1.1k ...

# 如果版本没问题的话,我们需要切换到yashan用户,进入/home/yashan/install目录重新执行安装命令
# su - yashan
$ cd install
$ tar -zxf yashandb-personal-23.3.1.100-linux-x86_64.tar.gz

参数说明:

--cluster:自定义数据库集群名称,也作为初始数据库名
-u:操作系统用户
-p:操作系统用户密码
--ip:服务器IP
--port:SSH服务端口
--install-path:数据库安装路径
--data-path:数据存放目录
--begin-port:数据库监听端口
此步骤会生成以下两个配置文件:hosts.toml,服务器的配置文件;yashandb.toml,数据库集群的配置文件。

步骤2:执行安装

$ ./bin/yasboot package install -t hosts.toml -i yashandb-personal-23.3.1.100-linux-x86_64.tar.gz

步骤3:部署数据库

$ ./bin/yasboot cluster deploy -t yashandb.toml

步骤4:配置环境变量

$ cd /home/yashan/yasdb_home/yashandb/23.2.1.100/conf/
$ source yashandb.bashrc
$ cat yashandb.bashrc >> ~/.bashrc

步骤5:初始化sys用户密码

$ yasboot cluster password set -n yasdb_123 -c yashandb

验证安装

$ yasql / as sysdba
SQL> select status from v$instance;
SQL> select database_name from v$database;

数据库启停操作

关闭数据库

方式一:

$ yasboot cluster stop -c yashandb

方式二:

SQL> shutdown immediate;

启动数据库

$ yasboot cluster start -c yashandb

阅读剩余
THE END