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

「YashanDB个人版体验」YashanDB单机部署安装

原创 Lpl 2023-12-02
536

YashanDB个人版已正式向所有用户和开发者全面开放下载,特此参加「产品体验官」尝鲜活动。本文基于Centos 7.9 部署单机的 YashanDB Personal 23.1。

安装YashanDB前准备

服务器准备

因为是个人尝鲜使用YashanDB,根据官网准备了最小配置的服务器,信息如下:

服务器名称 IP 操作系统版本 CPU 内存 硬盘
YashanDB01 192.168.159.51 Centos 7.9 X86_64, 2C 4G 50G,SSD

操作系统参数调整

关闭交换分区

[root@YashanDB01 ~]# sysctl -w vm.swappiness=0 vm.swappiness = 0 [root@YashanDB01 ~]# echo "vm.swappiness = 0">> /etc/sysctl.conf

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

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

调整进程的VMA上限

[root@YashanDB01 ~]# sysctl -w vm.max_map_count=2000000 vm.max_map_count = 2000000 [root@YashanDB01 ~]# echo "vm.max_map_count=2000000" >> /etc/sysctl.conf

调整资源限制值

[root@YashanDB01 ~]# ulimit -n 65536 [root@YashanDB01 ~]# ulimit -u 65536 [root@YashanDB01 ~]# ulimit -m unlimited [root@YashanDB01 ~]# ulimit -s 8192 [root@YashanDB01 ~]# [root@YashanDB01 ~]# echo " > * soft nofile 65536 > * hard nofile 65536 > * soft nproc 65536 > * hard nproc 65536 > * soft rss unlimited > * hard rss unlimited > * soft stack 8192 > * hard stack 8192 > " >> /etc/security/limits.conf

关闭透明大页

  1. vi /etc/default/grub,在 GRUB_CMDLINE_LINUX 中添加或修改参数 transparent_hugepage=never
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet transparent_hugepage=never"
GRUB_DISABLE_RECOVERY="true"
  1. 执行 grub2–mkconfig 指令重新配置 grub.cfg
[root@YashanDB01 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-a3f44a3410c642c8b1f3c4270c5fdfaa Found initrd image: /boot/initramfs-0-rescue-a3f44a3410c642c8b1f3c4270c5fdfaa.img done
  1. 重启操作系统,使配置永久生效。
  2. 检查透明大页已关闭。
[root@YashanDB01 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled always madvise [never]

显示为always madvise [never],说明透明大页已关闭。

创建安装用户

1. 创建yashan用户

[root@YashanDB01 ~]# useradd -d /home/yashan -m yashan [root@YashanDB01 ~]# passwd yashan Changing password for user yashan. New password: Retype new password: passwd: all authentication tokens updated successfully.

2. 配置sudo免密
为文件/etc/sudoers添加写权限,并进行编辑

[root@YashanDB01 ~]# ll /etc/sudoers -r--r-----. 1 root root 4328 Sep 30 2020 /etc/sudoers [root@YashanDB01 ~]# chmod +w /etc/sudoers [root@YashanDB01 ~]# vi /etc/sudoers

在文件最后添加如下内容

yashan  ALL=(ALL)       NOPASSWD:ALL

将文件恢复成只读的属性

[root@YashanDB01 ~]# chmod -w /etc/sudoers

3. 将yashan用户加入到YASDBA用户组

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

目录规划

安装YashanDB必须规划两个目录,HOME目录和DATA目录,本次安装,均规划在/data/yashan下。

[root@YashanDB01 ~]# mkdir -p /data/yashan [root@YashanDB01 ~]# chown -R yashan:yashan /data/yashan [root@YashanDB01 data]# chmod -R 775 /data/yashan

下载软件包

  1. YashanDB官网找到YashanDB安装包的下载途径,个人环境为x86架构的,选择了对应的安装包进行下载。
    Pasted image 20231130000029.png
  2. 在yashan用户主目录下创建一个空目录,作为安装包的存放路径
[root@YashanDB01 data]# su - yashan Last login: Thu Nov 30 16:46:14 CST 2023 on pts/1 [yashan@YashanDB01 ~]$ mkdir install
  1. 将软件包放到/home/yashan/install目录下,并解压软件包:
[yashan@YashanDB01 ~]$ cd /home/yashan/install/ [yashan@YashanDB01 install]$ tar zxf yashandb-personal-23.1.1.100-linux-x86_64.tar.gz

使用脚本安装YashanDB

1. 获取安装脚本
进入到目录/home/yashan/install/scripts/,可以找到安装YashanDB所需的脚本

[yashan@YashanDB01 install]$ cd /home/yashan/install/scripts/ [yashan@YashanDB01 scripts]$ ll total 32 -rwxrwxr-x. 1 yashan yashan 3296 Nov 9 18:16 createResourceCgroup.sh -rwxrwxr-x. 1 yashan yashan 2934 Nov 9 18:16 initDB.sh -rwxrwxr-x. 1 yashan yashan 2104 Nov 9 18:16 initStandby.sh -rw-rw-r--. 1 yashan yashan 411 Nov 9 18:16 install.ini -rwxrwxr-x. 1 yashan yashan 1412 Nov 9 18:16 install.sh -rwxrwxr-x. 1 yashan yashan 1157 Nov 9 18:16 startup.sh -rwxrwxr-x. 1 yashan yashan 1157 Nov 9 18:16 stop.sh -rwxrwxr-x. 1 yashan yashan 667 Nov 9 18:16 yascheckStart.sh

2. 安装参数调整
通过修改install.ini文件的内容来调整安装参数。

[yashan@YashanDB01 scripts]$ vi install.ini

这里仅调整了YASDB_HOME和YASDB_DATA参数,其余均保持了默认。

[install]
YASDB_HOME=/data/yashan/yasdb_home
YASDB_DATA=/data/yashan/yasdb_data
REDO_FILE_SIZE=100M
REDO_FILE_NUM=4
INSTALL_SIMPLE_SCHEMA_SALES=N
NLS_CHARACTERSET=UTF8
[instance]
LISTEN_ADDR=0.0.0.0:1688
DB_BLOCK_SIZE=8K
DATA_BUFFER_SIZE=256M
SHARE_POOL_SIZE=256M
WORK_AREA_POOL_SIZE=32M
LARGE_POOL_SIZE=32M
REDO_BUFFER_SIZE=8M
UNDO_RETENTION=300
OPEN_CURSORS=310
MAX_SESSIONS=1024
RUN_LOG_LEVEL=INFO
NODE_ID=1-1:1

3. 执行安装
运行安装脚本install.sh。

[yashan@YashanDB01 scripts]$ ./install.sh

运行初始化脚本initDB.sh。

[yashan@YashanDB01 scripts]$ ./initDB.sh process started! Database open succeed !

使环境变量生效。

[yashan@YashanDB01 scripts]$ source ~/.bashrc

4. 设置sys用户口令

[yashan@YaShanDB01 scripts]$ cd $YASDB_DATA/instance [yashan@YaShanDB01 instance]$ mv yasdb.pwd yasdb1.pwd [yashan@YaShanDB01 instance]$ yaspwd file=yasdb.pwd Enter password for SYS:password

5. 验证安装是否成功
使用yasql工具连接数据库,查看实例状态。

[yashan@YaShanDB01 instance]$ yasql / as sysdba
YashanDB SQL Personal Edition Release 23.1.1.100 x86_64

Connected to:
YashanDB Server Personal Edition Release 23.1.1.100 x86_64 - X86 64bit Linux

SQL> SELECT STATUS FROM V$INSTANCE;

STATUS
-------------
OPEN

1 row fetched.

SQL> SELECT database_name FROM v$database;

DATABASE_NAME
----------------------------------------------------------------
yasdb

1 row fetched.

至此,已完成YashanDB的单机部署。

安装YashanDB DBeaver

YashanDB DBeaver是基于DBeaver二次开发的,能支持YashanDB数据库图形化开发及管理。

软件包准备

1. 下载YashanDB DBeaver
本次在Windows环境安装,在官网下载对应的安装包。
Pasted image 20231202015107.png

2. 下载JDK
DBeaver的运行依赖于Java环境,版本为V23.1的DBeaver,依赖于JDK17及以上版本的Java环境。可到如下地方进行下载:
下载 Microsoft Build of OpenJDK | Microsoft Learn
Pasted image 20231202015743.png

安装及配置

1. 解压JDK及DBeaver安装包
本文将JDK及DBeaver安装包解压到了D盘。
Pasted image 20231202020154.png

2. 配置java环境变量
以管理员身份打开cmd,执行如下命令将java的bin目录加入到环境变量。

setx PATH %PATH%;D:\jdk-21.0.1+12\bin /m

打开一个新的cmd,执行java -version命令,确认环境变量是否添加成功。

C:\Users\markliu>java -version
openjdk version "21.0.1" 2023-10-17 LTS
OpenJDK Runtime Environment Microsoft-8526870 (build 21.0.1+12-LTS)
OpenJDK 64-Bit Server VM Microsoft-8526870 (build 21.0.1+12-LTS, mixed mode, sha
ring)

3. 配置DBeaver
编辑D:\dbeaver\dbeaver.ini文件,在头部加入如下内容。

-vm
D:\jdk-21.0.1+12\bin  #具体路径以本地解压的jdk目录为准,定位到bin目录即可

现在即可正常打开DBeaver程序。
Pasted image 20231202022316.png

连接数据库

YashanDB的默认端口是1688,如客户端到服务器的1688端口不通,可先到服务器上停止防火墙或放通1688端口。

[root@YaShanDB01 listener]# firewall-cmd --zone=public --add-port=1688/tcp --permanent success [root@YaShanDB01 listener]# firewall-cmd --reload success [root@YaShanDB01 listener]# firewall-cmd --zone=public --query-port=1688/tcp yes

放通后,即可通过DBeaver配置连接信息并成功连接到数据库进行管理。
Pasted image 20231202022702.png
Pasted image 20231202022749.png
Pasted image 20231202022845.png

总结

本文主要记录了个人第一次进行YashanDB单机部署的过程,体验后感受如下:

  1. 文档提供的安装步骤很详细,单机部署的过程也相对简单,根据文档能比较轻松的完成部署。
  2. 从实例的连接方式、目录结构、表空间、实例启停、数据字典视图,以及官方文档中提到的一些功能来看,YashanDB确实形似Oracle。
  3. 在部署过程中,也遇到一些困惑,奇怪为何23.1版本的文档中在部署单机实例也必须指定–cluster参数,也不确定是否为特意设计的。后来倒是在22.2版本的文档中找到另一种使用脚本部署单机的方式,本文也采用了这种方法进行部署的。

因知道活动比较晚,有很多感兴趣的方面,如备份、主备模式、兼容性等,还未实际体验过。但这初次体验,确实让我对YashanDB有所期待,希望其能成为国产数据库中一颗冉冉升起的新星。

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

评论