首页 > 数据库 > 国内数据库 > 实战!YashanDB新版23.2部署如此丝滑
崖山数据库系统YashanDB是深圳计算科学研究院完全自主研发设计的新型数据库系统, 经工信部下属机构权威检测,内核代码自主率100%。在经典数据库理论基础上, 融入原创的有界计算理论、近似计算理论、并行可扩展理论和跨模融合计算理论, 支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景, 全面兼容私有化及云基础设施,为客户提供一站式的企业级融合数据管理解决方案, 满足金融、政府、电信、能源等关键行业对高性能、高并发及高安全性的要求。 官网:https://yashandb.com/

下载个人版数据库、驱动及相关工具进行体验 https://download.yashandb.com/download 安装包:yashandb-personal-23.2.1.100-linux-x86_64.tar.gz

| 类别 | 推荐配置 | 最低配置 |
|---|---|---|
| 操作系统 | CentOS 7.6以上,KylinOS V10, openEuler 22.03 | - |
| CPU | X86_64,ARM64 超线程,非超线程 推荐4C及以上;共享集群推荐8C及以上 | CPU核数>2 |
| 内存 | 推荐16G及以上;共享集群推荐32G及以上 | >4G |
| 硬盘 | 推荐使用SSD 推荐存储空间50G及以上 | >4G |
| 文件系统 | ext4或xfs | 不能为tmpfs |
| 网络 | 千兆以上以太网,支持TCP和UDP;共享集群内部均要求10GE,不包含RDMA | - |
1.单机主备部署 单机部署最小规模配置为1台服务器,但无法构建高可用环境。 可使用多台服务器构建主备形态的高可用环境。 2.分布式部署 分布式部署最小规模配置1台服务器,MN、CN、DN部署在同一台服务器上。 可使用至少3台服务器构建成MN/DN主备形态和CN多活的高可用环境。 3.共享集群部署 共享集群部署配置2台服务器+1台共享存储,搭建集群内高可用的多实例数据库。 可使用多台服务器构建主备形态的高可用集群。
## 关闭防火墙 systemctl stop firewalld ## 关闭开机自启 systemctl disable firewalld ##selinux临时关闭 setenforce 0 ##selinux关闭 vim /etc/selinux/config [root@centos79 ~]# more /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
此步操作目的是为最大限度使用物理内存 # sysctl -w vm.swappiness=0 # echo " vm.swappiness = 0">> /etc/sysctl.conf [root@centos79 ~]# 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 使变量生效 sysctl -p
使用cat /proc/sys/net/ipv4/ip_local_port_range查看连接可用的本地端口范围,下限值建议大于30000以减少端口冲突。 # sysctl -w net.ipv4.ip_local_port_range='32768 60999' # echo "net.ipv4.ip_local_port_range = 32768 60999" >> /etc/sysctl.conf 使变量生效 sysctl -p
该参数作用是限制一个进程可以拥有的VMA(虚拟内存区域)的数量,调整是为了让数据库进程充分使用主机资源 # sysctl -w vm.max_map_count=2000000 # echo " vm.max_map_count=2000000" >> /etc/sysctl.conf 使变量生效 sysctl -p
将部分资源限制值(使用ulimit -a可查看所有的资源限制值)调整为推荐值或以上。 # ulimit -n 65536 #设置可以打开的最大的文件描述符数量65536(单位:个) # ulimit -u 65536 #设置可以打开的最大的进程数65536(单位:个) # ulimit -m unlimited #设置没有限制的使用常驻内存的大小(单位:kbytes) # ulimit -s 8192 #设置可以使用linux的默认栈空间大小是8192kb(单位:kbytes) vi /etc/security/limits.conf 在文件 /etc/security/limits.conf 后面添加以下内容: yashan soft nofile 65536 #表示yashan用户可以打开的最大的文件描述符数量65536个 yashan hard nofile 65536 yashan soft nproc 65536 #表示yashan用户可以打开的最大的进程数65536个 yashan hard nproc 65536 yashan soft rss unlimited #表示yashan用户可以没有限制的使用常驻内存的大小 yashan hard rss unlimited yashan soft stack 8192 #表示yashan用户可以使用linux的默认栈空间大小是8192kb yashan hard stack 8192
| 资源项 | 推荐值 | COMMAND | 资源项说明 |
|---|---|---|---|
| open files | 1048576 | ulimit -n 1048576 vi /etc/security/limits.conf后添加 * soft nofile 1048576 * hard nofile 1048576 | 进程打开的文件数 |
| max user processes | 1048576 | ulimit -u 1048576 vi /etc/security/limits.conf后添加 * soft nproc 1048576 * hard nproc 1048576 | 最大用户进程数 |
| max memory size | unlimited | ulimit -m unlimited vi /etc/security/limits.conf后添加 * soft rss unlimited * hard rss unlimited | 进程最大占用内存值 |
| stack size | 8192 | ulimit -s 8192 vi /etc/security/limits.conf后添加 * soft stack 8192 * hard stack 8192 | 进程最大栈空间 |
useradd -d /home/yashan -m yashan passwd yashan 将安装用户加入YASDBA用户组 $ groupadd YASDBA $ usermod -a -G YASDBA yashan
## 对root用户赋权并打开/etc/sudoers文件 cd /etc ll sudoers chmod +w sudoers vi /etc/sudoers ## 在文件的最后添加如下内容后保存退出 yashan ALL=(ALL)NOPASSWD:ALL 按需恢复/etc/sudoers文件的属性。 chmod -w sudoers
su - yashan mkdir ~/install cd ~/install [yashan@centos79 ~]$ cd install/ [yashan@centos79 install]$ tar zxf /opt/yashandb-personal-23.2.1.100-linux-x86_64.tar.gz -C ./ [yashan@centos79 install]$ ll total 64 drwxrwxr-x. 6 yashan yashan 4096 Apr 1 10:49 admin drwxrwxr-x. 2 yashan yashan 4096 Apr 1 10:49 bin drwxrwxr-x. 2 yashan yashan 4096 Apr 1 10:49 conf drwxrwxr-x. 5 yashan yashan 4096 Apr 1 10:49 ext -rw-rw-r--. 1 yashan yashan 9998 Apr 1 10:49 gitmoduleversion.dat drwxrwxr-x. 2 yashan yashan 4096 Apr 1 10:49 include drwxrwxr-x. 3 yashan yashan 4096 Apr 1 10:49 java drwxrwxr-x. 2 yashan yashan 4096 Apr 1 10:49 lib -rw-r-----. 1 yashan yashan 14989 Apr 1 10:49 LICENSE drwxrwxr-x. 3 yashan yashan 4096 Apr 1 10:49 plug-in drwxrwxr-x. 2 yashan yashan 4096 Apr 1 10:49 scripts
本安装中,HOME目录和DATA目录均规划在/data/yashan下 mkdir -p /data/yashan chmod -R 770 /data/yashan chown -R yashan:yashan /data/yashan 1.执行yasboot package命令生成配置文件 [root@centos79 ~]# su - yashan Last login: Wed Apr 24 07:32:18 CST 2024 on pts/0 [yashan@centos79 ~]$ cd install [yashan@centos79 install]$ ll total 64 drwxrwxr-x. 6 yashan yashan 4096 Apr 1 10:49 admin drwxrwxr-x. 2 yashan yashan 4096 Apr 1 10:49 bin drwxrwxr-x. 2 yashan yashan 4096 Apr 1 10:49 conf drwxrwxr-x. 5 yashan yashan 4096 Apr 1 10:49 ext -rw-rw-r--. 1 yashan yashan 9998 Apr 1 10:49 gitmoduleversion.dat drwxrwxr-x. 2 yashan yashan 4096 Apr 1 10:49 include drwxrwxr-x. 3 yashan yashan 4096 Apr 1 10:49 java drwxrwxr-x. 2 yashan yashan 4096 Apr 1 10:49 lib -rw-r-----. 1 yashan yashan 14989 Apr 1 10:49 LICENSE drwxrwxr-x. 3 yashan yashan 4096 Apr 1 10:49 plug-in drwxrwxr-x. 2 yashan yashan 4096 Apr 1 10:49 scripts ./bin/yasboot package se gen --cluster yashandb \ -u yashan -p yashan --ip 192.168.3.10 --port 22 \ --install-path /data/yashan/yasdb_home \ --data-path /data/yashan/yasdb_data --begin-port 1688 参数说明 --cluster 指定数据库集群名称,该名称也将作为集群中所有节点上初始创建数据库的名称(database name) --port 指定SSH服务端口 --install-path 指定数据库安装路径 --data-path 指定数据存放目录 --begin-port 指定数据库监听端口 执行完毕后,当前目录下将生成yashandb.toml和hosts.toml两个配置文件,可手动修改, 但不建议删除文件中任何行,否则可能导致后续安装过程报错,或所搭建的环境后续无法进行扩展配置。 yashandb.toml:数据库集群的配置文件。 hosts.toml:主机的配置文件。

[root@centos79 ~]# su - yashan Last login: Wed Apr 24 07:32:18 CST 2024 on pts/0 [yashan@centos79 ~]$ cd install ./bin/yasboot package install -t hosts.toml -i /opt/yashandb-personal-23.2.1.100-linux-x86_64.tar.gz [yashan@centos79 install]$ ./bin/yasboot package install -t hosts.toml -i /opt/yashandb-personal-23.2.1.100-linux-x86_64.tar.gz 192.168.3.10 ip:192.168.3.10 memory is less than 4096MB config check failed [yashan@centos79 install]$ free -g total used free shared buff/cache available Mem: 3 0 1 0 1 2 Swap: 4 0 4 此时加大内存即可解决,官方要求最少大于4G [yashan@centos79 install]$ ./bin/yasboot package install -t hosts.toml -i /opt/yashandb-personal-23.2.1.100-linux-x86_64.tar.gz checking install package... install version: yashandb 23.2.1.100 host0001 100% [====================================================================] 24s update host to yasom...

su - yashan [yashan@centos79 ~]$ cd install/ [yashan@centos79 install]$ ./bin/yasboot cluster deploy -t yashandb.toml type | uuid | name | hostid | index | status | return_code | progress | cost ------------------------------------------------------------------------------------------------------------ task | dc258cb879402d5b | DeployYasdbCluster | - | yashandb | SUCCESS | 0 | 100 | 9 ------+------------------+--------------------+--------+----------+---------+-------------+----------+------ task completed, status: SUCCESS task completed, status: SUCCESS表示安装成功

##执行如下命令,生效环境变量。 部署命令成功执行后将会在$YASDB_HOME目录下的conf文件夹中生成<<集群名称>>.bashrc环境变量文件 cd /data/yashan/yasdb_home/yashandb/23.2.1.100/conf cat yashandb.bashrc >> ~/.bashrc source ~/.bashrc

1.密码修改 YashanDB不提供系统初始口令,请以安装用户登录192.168.1.2服务器并通过yasboot工具设置集群内所有节点sys用户的密码。 [yashan@centos79 ~]$ yasboot cluster password set -n newpasswd -c yashandb type | uuid | name | hostid | index | status | return_code | progress | cost --------------------------------------------------------------------------------------------------------- task | f8998d97bc0ddb8b | YasdbPasswordSet | - | yashandb | FAILED | 1 | 100 | 1 ------+------------------+------------------+--------+----------+--------+-------------+----------+------ task completed, status: FAILED retcode: 1 stdout: generate password file stderr: generate yaspwd file failed, YASPW-00002 password complexity failed for SYS user : password must contain at least 1 digit [yashan@centos79 ~]$ yasboot cluster password set -n Jeames$007 -c yashandb 2.查看数据库状态 [yashan@centos79 ~]$ yasboot cluster status -c yashandb -d

3.使用yasboot工具连接数据库,查看实例状态 yasboot sql -d sys/Jeames$007@192.168.3.10:1688 使用yasql工具连接数据库,创建数据库用户并赋权 SQL> CREATE USER sales IDENTIFIED BY sales; SQL> GRANT CONNECT TO SALES; GRANT CONNECT TO SALES; Succeed. SQL> conn sales/sales conn sales/sales Connected to: YashanDB Server Personal Edition Release 23.2.1.100 x86_64 - X86 64bit Linux 4.实例启停 yasboot cluster stop -c yashandb yasboot cluster start -c yashandb

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69947868/viewspace-3013978/ ,如需转载,请注明出处,否则将追究法律责任。