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

「YashanDB个人版体验」YashanDB 23.1 单机部署-可视化安装

1112

一、写在前面

  今天继续体验下YashanDB(崖山数据库)可视化方式单机部署过程。崖山数据库系统YashanDB是深圳计算科学研究院完全自主研发设计的新型数据库系统,融入原创理论,支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景,为客户提供一站式的企业级融合数据管理解决方案。数据库核心技术100%自研,做到完全自主可控,研发团队具备从零构建完整数据库系统并成功商用的经验,全栈顶尖研发能力保持产品和技术领先优势,积极参与并融入信创生态,高度兼容国产主流软硬件。

二、安装前准备

1、实验环境介绍

      项目       描述
操作系统 CentOS 7.6
CPU 2C
内存 4GB
硬盘 50GB

2、操作系统参数调整

2.1、配置主机名解析

[root@hellodba ~]# echo "192.168.0.58 hellodba" >> /etc/hosts

2.2、关闭交换分区

[root@hellodba ~]# sysctl -w vm.swappiness=0 [root@hellodba ~]# echo "vm.swappiness = 0">> /etc/sysctl.conf [root@hellodba ~]# sysctl -a | grep swappiness sysctl: reading key "net.ipv6.conf.all.stable_secret" sysctl: reading key "net.ipv6.conf.default.stable_secret" sysctl: reading key "net.ipv6.conf.ens33.stable_secret" sysctl: reading key "net.ipv6.conf.lo.stable_secret" sysctl: reading key "net.ipv6.conf.virbr0.stable_secret" sysctl: reading key "net.ipv6.conf.virbr0-nic.stable_secret" vm.swappiness = 0

2.3、调整自动分配本地端口范围

[root@hellodba ~]# echo "net.ipv4.ip_local_port_range = 32768 60999" >> /etc/sysctl.conf

2.4、调整进程的VMA上限

[root@hellodba ~]# sysctl -w vm.max_map_count=2000000 vm.max_map_count = 2000000 [root@hellodba ~]# echo "vm.max_map_count=2000000" >> /etc/sysctl.conf [root@hellodba ~]# sysctl -a|grep vm.max_map_count sysctl: reading key "net.ipv6.conf.all.stable_secret" sysctl: reading key "net.ipv6.conf.default.stable_secret" sysctl: reading key "net.ipv6.conf.ens33.stable_secret" sysctl: reading key "net.ipv6.conf.lo.stable_secret" sysctl: reading key "net.ipv6.conf.virbr0.stable_secret" sysctl: reading key "net.ipv6.conf.virbr0-nic.stable_secret" vm.max_map_count = 2000000

2.5、调整资源限制值

[root@hellodba ~]# vi /etc/security/limits.conf * soft nofile 65536 * hard nofile 65536 * soft nproc 65536 * hard nproc 65536 * soft rss unlimited * hard rss unlimited * soft stack 8192 * hard stack 8192

2.6、关闭透明大页

//查看透明页是否启用,显示[always]表示Transparent HugePages是启用的 [root@hellodba ~]# cat /sys/kernel/mm/transparent_hugepage/defrag [always] madvise never [root@hellodba ~]# cat /sys/kernel/mm/transparent_hugepage/enabled [always] madvise never //禁用透明页 [root@hellodba ~]# vi /etc/rc.d/rc.local echo never > /sys/kernel/mm/transparent_hugepage/defrag echo never > /sys/kernel/mm/transparent_hugepage/enabled [root@hellodba ~]# chmod +x /etc/rc.d/rc.local [root@hellodba ~]# reboot //透明页已关闭 [root@hellodba ~]# cat /sys/kernel/mm/transparent_hugepage/defrag always madvise [never] [root@hellodba ~]# cat /sys/kernel/mm/transparent_hugepage/enabled always madvise [never]

2.7、关闭防火墙

//关闭防火墙 [root@hellodba ~]# systemctl stop firewalld //查看防火墙状态 [root@hellodba ~]# systemctl status firewalld //禁止防火墙开机自启动 [root@hellodba ~]# systemctl disable firewalld

2.8、创建安装用户

[root@hellodba ~]# useradd -d /home/yashan -m yashan [root@hellodba ~]# echo "hellodba" | passwd --stdin yashan

2.9、配置sudo免密

[root@hellodba ~]# cd /etc [root@hellodba etc]# ll sudoers -r--r-----. 1 root root 4328 Oct 30 2018 sudoers [root@hellodba etc]# chmod +w sudoers [root@hellodba etc]# vim /etc/sudoers //在文件的最后添加如下内后保存退出 yashan ALL=(ALL)NOPASSWD:ALL [root@hellodba etc]# chmod -w sudoers

2.10、将yashan用户加入到YASDBA用户组

[root@hellodba ~]# groupadd YASDBA [root@hellodba ~]# usermod -a -G YASDBA yashan

2.11、创建安装目录

[root@hellodba ~]# mkdir -p /YashanDB [root@hellodba ~]# chmod -R 777 /YashanDB

2.12、重启操作系统

[root@hellodba ~]# init 6

3、软件包下载

从本步骤开始的后续所有服务端安装步骤,将由数据库安装用户来进行操作,请先切换至yashan用户,或以yashan用户登录至服务器。下载地址:https://download.yashandb.com/download

3.1、创建install目录

[root@hellodba ~]# su - yashan [yashan@hellodba ~]$ cd /YashanDB [yashan@hellodba YashanDB]$ mkdir install

3.2、下载软件包

将软件包下载到/YashanDB/install目录下,并解压软件包。

[yashan@hellodba ~]$ cd /YashanDB/install [yashan@hellodba install]$ tar zxf yashandb-personal-23.1.1.100-linux-x86_64.tar.gz [yashan@hellodba install]$ ll drwxrwxr-x. 6 yashan yashan 70 Nov 9 18:16 admin drwxrwxr-x. 2 yashan yashan 188 Nov 9 18:16 bin drwxrwxr-x. 2 yashan yashan 152 Nov 9 18:16 conf drwxrwxr-x. 5 yashan yashan 60 Nov 9 18:16 ext -rw-rw-r--. 1 yashan yashan 11632 Nov 9 18:16 gitmoduleversion.dat drwxrwxr-x. 2 yashan yashan 65 Nov 9 18:16 include drwxrwxr-x. 3 yashan yashan 17 Nov 9 18:16 java drwxrwxr-x. 2 yashan yashan 4096 Nov 9 18:16 lib -rw-r-----. 1 yashan yashan 14989 Nov 9 18:16 LICENSE drwxrwxr-x. 3 yashan yashan 21 Nov 9 18:16 plug-in drwxrwxr-x. 2 yashan yashan 170 Nov 9 18:16 scripts -rwxrwxr-x. 1 yashan yashan 175386922 Nov 30 16:42 yashandb-personal-23.1.1.100-linux-x86_64.tar.gz

3.3、获取安装工具

YashanDB所提供软件包中包含安装工具,位于bin目录下。其中,如执行命令行安装,需要用到yasboot命令,如执行可视化安装,则需要用到yasom命令。

[yashan@hellodba install]$ ll bin/yasboot -rwxrwxr-x. 1 yashan yashan 9381440 Nov 9 18:16 bin/yasboot [yashan@hellodba install]$ ll bin/yasom -rwxrwxr-x. 1 yashan yashan 21896816 Nov 9 18:16 bin/yasom

三、安装过程

1、启动Web服务

[root@hellodba ~]# su - yashan Last login: Tue Dec 5 14:30:48 CST 2023 on pts/0 [yashan@hellodba ~]$ cd /YashanDB/install [yashan@hellodba install]$ ./bin/yasom --web --listen 192.168.0.58:9001 2023-12-05 14:43:02 INFO [console] yasom.go:125 Version: 23.1.1.100 2023-12-05 14:43:02 INFO [console] deploy.go:60 deploy manager starting... 2023-12-05 14:43:02 INFO [console] convert.go:112 opt.GroupConfig: map[] 2023-12-05 14:43:02 INFO [console] static.go:20 routing vue app 2023-12-05 14:43:02 INFO [console] web.go:21 Server listen on: 192.168.0.58:9001

1.1、打开可视化安装网页

本地浏览器输入: http://192.168.0.58:9001

image.png

1.2、填写数据库基本信息和主机信息

数据库名称使用默认yashandb,选择单机类型,填入安装包路径/YashanDB/install/yashandb-personal-23.1.1.100-linux-x86_64.tar.gz。
点击选择单机部署模式,填写安装的主机和安装路径等信息(安装用户需要有安装路径的操作权限)。
填写主机信息后可以点击“尝试连接”按钮,检查主机的连通性。
本示例单机部署就部署在一台机器上,确认完信息后点击下一步。

image.png

1.3、sudo相关配置

三个开关的功能都需要安装用户的sudo权限,如果安装用户没有sudo权限则需要填写具有sudo权限的用户和密码。
创建cgroup:创建用于YashanDB CPU资源管理的cgoup目录。
开机自启monit:开机自动拉起OM和数据库进程。
用户添加到YASDBA用户组:将安装用户加入YASDBA组,可免密登录数据库。

image.png

1.4、生成推荐配置和调整节点配置

如果之前没有生成过配置,会自动弹出生成推荐配置窗口,可以选择节点数量,起始端口,和节点默认路径(可不填,使用默认路径)。
默认开启推荐参数配置,填入YashanDB内存占用百分比,选择表类型。
生成默认配置后,确认OM配置端口以及节点端口保证端口不被占用,这里使用默认配置进行下一步。

image.png

1.5、配置建库参数

可以在配置建库参数页面增删和修改建库参数,然后进行下一步。

image.png

1.6、配置节点参数

可以在配置节点参数页面增删和修改节点参数,这里使用默认配置进行下一步。

image.png

1.7、数据库全局信息确认

信息确认无误后点击“部署”。

image.png

1.8、等待部署完成

点击部署后,等待部署完成。

image.png

部署成功后服务端会再一定时间内自动退出,也可以在页面点击退出部署程序。

image.png

2、生效环境变量

部署命令成功执行后将会在$YASDB_HOME目录下的conf文件夹中生成<<集群名称>>.bashrc环境变量文件。

[yashan@hellodba ~]$ cd /YashanDB/yashandb/23.1.1.100/conf [yashan@hellodba conf]$ ll -rw-rw-r--. 1 yashan yashan 100845 Nov 9 18:16 database_options.json drwxrwxr-x. 2 yashan yashan 73 Dec 5 15:43 monit -rw-rw-r--. 1 yashan yashan 297 Nov 9 18:16 profile.toml -rw-rw-r--. 1 yashan yashan 6837 Nov 9 18:16 sqlcollect.toml -rw-rw-r--. 1 yashan yashan 23577 Nov 9 18:16 sqlhtml.template -rwx------. 1 yashan yashan 287 Dec 5 15:43 yashandb.bashrc -rw-rw-r--. 1 yashan yashan 590524 Nov 9 18:16 yasreport.template -rw-rw-r--. 1 yashan yashan 3071 Nov 9 18:16 yfs_options.json [yashan@hellodba conf]$ cat yashandb.bashrc >> ~/.bashrc [yashan@hellodba conf]$ source ~/.bashrc

3、修改sys用户口令

[yashan@hellodba ~]$ yasboot cluster password set -n Yashan@123 -c yashandb type | uuid | name | hostid | index | status | return_code | progress | cost ---------------------------------------------------------------------------------------------------------- task | 1a39d2872a251aae | YasdbPasswordSet | - | yashandb | SUCCESS | 0 | 100 | 2 ------+------------------+------------------+--------+----------+---------+-------------+----------+------ task completed, status: SUCCESS

4、验证安装是否成功

4.1、查看数据库状态

[yashan@hellodba ~]$ yasboot cluster status -c yashandb -d hostid | node_type | nodeid | pid | instance_status | database_status | database_role | listen_address | data_path -------------------------------------------------------------------------------------------------------------------------------------------------------------------- host0001 | db | 1-1:1 | 76699 | open | normal | primary | 192.168.0.58:1688 | /YashanDB/yasdb_home/yashandb/data/yashandb/db-1-1 ----------+-----------+--------+-------+-----------------+-----------------+---------------+-------------------+----------------------------------------------------

4.2、查看实例状态

[yashan@hellodba ~]$ yasql 'sys/"Yashan@123"'@192.168.0.58:1688 SQL> SELECT STATUS,INSTANCE_NAME,HOST_NAME FROM V$INSTANCE; STATUS INSTANCE_NAME HOST_NAME --------------------------------------------------------------- OPEN yasdb hellodba SQL> SELECT database_name FROM v$database; DATABASE_NAME ---------------------------------------------------------------- yashandb

7、开机自动启动

当服务器由于各种原因发生重启时,将守护进程到开机自启动,可以在系统重启后自动拉起YashanDB的各进程。

[yashan@hellodba ~]$ sudo vim /etc/rc.local su - yashan -c 'yasboot process yasom start -c yashandb' su - yashan -c 'yasboot process yasagent start -c yashandb' su - yashan -c 'yasboot cluster start -c yashandb' su - yashan -c 'yasboot monit start --cluster yashandb'

四、数据库入门管理

1、通过yasql从命令行连接到数据库

[root@hellodba ~]# su - yashan [yashan@hellodba ~]$ yasql / as sysdba SQL>

2、实例启停

2.1、启动数据库实例

YashanDB支持通过yasboot工具直接将数据库实例调整至NOMOUNT、MOUNT和OPEN三个阶段的任意一个,也支持通过ALTER DATABASE语句将数据库实例从NOMOUNT阶段调整到MOUNT阶段和OPEN阶段。

2.1.1、启动到NOMOUNT阶段

支持通过yasboot工具将数据库实例从任意阶段调整至NOMOUNT阶段,不支持通过SQL命令方式调整数据库实例至NOMOUNT阶段。
由于SQL命令方式需先连接数据库,当实例处于SHUTDOWN阶段时无法连接数据库,且ALTER DATABASE语句不支持调整实例至NOMOUNT阶段,故无法使用SQL命令方式。

# yasboot工具 # 方式一: 先关闭然后启动数据库集群至NOMOUNT状态 [yashan@hellodba ~]$ yasboot cluster stop -c yashandb [yashan@hellodba ~]$ yasboot cluster start -c yashandb -m nomount # 方式二: 一键重启数据库集群至NOMOUNT状态 [yashan@hellodba ~]$ yasboot cluster restart -c yashandb -m nomount # 操作成功后,可查询数据库状态已更新为STARTED。 SQL> SELECT status FROM V$INSTANCE; STATUS ------------- STARTED

2.1.2、启动到MOUNT阶段

支持通过yasboot工具将数据库实例从任意阶段调整至MOUNT阶段,或通过SQL命令方式将数据库实例从NOMOUNT阶段调整至MOUNT阶段。

# yasboot工具 # 方式一: 先关闭然后启动数据库集群至MOUNT状态 [yashan@hellodba ~]$ yasboot cluster stop -c yashandb [yashan@hellodba ~]$ yasboot cluster start -c yashandb -m mount # 方式二: 一键重启数据库集群至MOUNT状态 [yashan@hellodba ~]$ yasboot cluster restart -c yashandb -m mount # SQL命令(此时须确保数据库实例处于NOMOUNT状态) [yashan@hellodba ~]$ yasboot cluster restart -c yashandb -m nomount [yashan@hellodba ~]$ yasql / as sysdba SQL> ALTER DATABASE MOUNT; # 操作成功后,可查询数据库状态已更新为MOUNTED。 SQL> SELECT status FROM V$INSTANCE; STATUS ------------- MOUNTED

2.1.3、启动到OPEN阶段

支持通过yasboot工具将数据库实例从任意阶段调整至OPEN阶段,或通过SQL命令方式将数据库实例从NOMOUNT或MOUNT阶段调整至OPEN阶段。

# yasboot工具 # 方式一: 先关闭然后启动数据库集群至OPEN状态 [yashan@hellodba ~]$ yasboot cluster stop -c yashandb [yashan@hellodba ~]$ yasboot cluster start -c yashandb -m open # 方式二: 一键重启数据库集群至OPEN状态 [yashan@hellodba ~]$ yasboot cluster restart -c yashandb -m open # SQL命令(此时须确保数据库实例处于NOMOUNT或MOUNT状态) [yashan@hellodba ~]$ yasboot cluster restart -c yashandb -m nomount [yashan@hellodba ~]$ yasql / as sysdba SQL> ALTER DATABASE OPEN; # 操作成功后,可查询数据库状态已更新为OPEN。 SQL> SELECT status FROM V$INSTANCE; STATUS ------------- OPEN

2.1.4、注意事项

  可以使用yasql工具连接到一个空闲实例,但是空闲实例不能直接进行数据启动到NOMOUNT、MOUNT和OPEN的操作,即在空闲实例下,不能使用STARTUP NOMOUNT、STARTUP MOUNT、STARTUP OPEN以及ALTER DATABASE NOMOUNT、ALTER DATABASE MOUNT和ALTER DATABASE OPEN等命令来启动数据库实例。

2.2、关闭数据库实例

YashanDB支持通过执行SHUTDOWN语句或使用yasboot工具关闭数据库实例。

2.2.1、SQL命令方式

SHUTDOWN NORMAL:等待事务正常结束后关闭,没有时间限制,通常建议选择这种方式来关闭数据库,此方式也为YashanDB默认的关库模式。
SHUTDOWN IMMEDIATE:立即中断当前用户的连接,同时强行终止用户的当前执行中的事务,将未完成的事务回退,并关闭数据库。
SHUTDOWN ABORT:强制中断所有数据库操作并关闭数据库,这种关闭方式可能会丢失一部分数据,影响数据库完整性。

SQL> SHUTDOWN NORMAL; SQL> SHUTDOWN IMMEDIATE; SQL> SHUTDOWN ABORT;

2.2.2、OM工具方式

可通过使用yasboot工具关闭数据库实例。

[yashan@hellodba ~]$ yasboot cluster stop -c yashandb [yashan@hellodba ~]$ yasboot cluster stop -c yashandb -s normal [yashan@hellodba ~]$ yasboot cluster stop -c yashandb -s immediate [yashan@hellodba ~]$ yasboot cluster stop -c yashandb -s abort

2.2.3、注意事项

一般当主机宕机、主机断电,或者人为强制关库时才建议使用ABORT方式,否则应避免使用这种方式关库,防止出现数据丢失,或者数据库损坏。

3、归档管理

YashanDB通过开启归档模式来进行redo日志文件自动归档,用以支持生产环境中的数据热备份以及高可用主备部署场景的主备同步。当故障发生时,可以通过历史全量数据数据备份以及归档的redo日志文件重做完成数据库重建。

3.1、开启归档

3.1.1、查看归档状态

字段值为ARCHIVELOG表示为归档模式,NOARCHIVELOG表示非归档模式。

SQL> SELECT database_name,log_mode,open_mode FROM V$DATABASE; DATABASE_NAME LOG_MODE OPEN_MODE --------------------------------------------------------------- yashandb NOARCHIVELOG READ_WRITE

3.1.2、配置归档路径

数据库默认的归档路径为$YASDB_DATA/archive,该值由ARCHIVE_LOCAL_DEST参数控制,进入到数据库可以查看并修改归档文件存放路径。

SQL> show parameter ARCHIVE_LOCAL_DEST NAME VALUE ---------------------------------------------------------- ARCHIVE_LOCAL_DEST ?/archive [yashan@hellodba ~]$ mkdir -p /YashanDB/yasdb_archive SQL> ALTER SYSTEM SET ARCHIVE_LOCAL_DEST='/YashanDB/yasdb_archive' scope=spfile; [yashan@hellodba ~]$ yasboot cluster restart -c yashandb -m open SQL> show parameter ARCHIVE_LOCAL_DEST NAME VALUE --------------------------------------------------------------- ARCHIVE_LOCAL_DEST /YashanDB/yasdb_archive

3.1.3、关闭数据库

SQL> shutdown immediate; SQL> exit

3.1.4、重启数据库

[yashan@hellodba ~]$ yasboot cluster restart -c yashandb -m mount

3.1.5、调整到归档模式

[yashan@hellodba ~]$ yasql / as sysdba SQL> ALTER DATABASE ARCHIVELOG; SQL> SELECT database_name,log_mode,open_mode FROM V$DATABASE; DATABASE_NAME LOG_MODE OPEN_MODE ---------------------------------------------------------------- yashandb ARCHIVELOG MOUNTED

3.1.6、打开数据库

SQL> ALTER DATABASE OPEN;

3.1.7、在线日志切换

//强制切换 SQL> ALTER SYSTEM SWITCH LOGFILE; //归档并进行切换(须处于归档模式否则返回错误) SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;

3.1.8、归档日志查看

SQL> select name from V$ARCHIVED_LOG; NAME ---------------------------------------------------------------- /YashanDB/yasdb_archive/arch_0_7.ARC /YashanDB/yasdb_archive/arch_0_8.ARC /YashanDB/yasdb_archive/arch_0_9.ARC

3.2、关闭归档

3.2.1、关闭数据库

SQL> shutdown immediate; SQL> exit

3.2.2、重启数据库

[yashan@hellodba ~]$ yasboot cluster restart -c yashandb -m mount

3.2.3、调整到非归档模式

[yashan@hellodba ~]$ yasql / as sysdba SQL> ALTER DATABASE NOARCHIVELOG; SQL> SELECT database_name,log_mode,open_mode FROM V$DATABASE; DATABASE_NAME LOG_MODE OPEN_MODE ---------------------------------------------------------------- yashandb NOARCHIVELOG MOUNTED

3.2.4、打开数据库

SQL> ALTER DATABASE OPEN;

五、总结

  到此YashanDB 23.1单机部署就完成了。部署过程全部是参照官方文档完成的。整体部署下来还是顺利的。与命令行安装相比,使用可视化安装更简单方便。整体来讲YashanDB单机部署还是相对方便快捷的,后面会继续分享有关YashanDB学习过程中的心得体会。希望国产数据库团队继续秉承着自己的初心,不断突破技术壁垒,提升产品的功能和性能。相信在你们的努力下,国产数据库将会越来越好!

 
公众号:Hello DBA
 
扫码_搜索联合传播样式标准色版.png

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

文章被以下合辑收录

评论