暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

「YashanDB个人版体验」YashanDB初体验——部署安装

原创 多明戈教你玩狼人杀 2023-11-18
864

最近墨天轮首页看到很多朋友写的YashanDB的体验,加上这个名字实在是太吸引我了。于是周六一大早吃完早饭就开始搞,中间多少遇到一点坑,但是整体来说,仍然是超过我预期的。

资源准备

系统配置:

系统配置我参考了官网手册的配置,做一台虚机,因为不想花太多时间折腾多节点版本,所以就选了一个单节点版。

操作系统:Redhat 8.8  
CPU:4C  
内存:32G  
硬盘:60G  
文件系统:SSD

下载链接:

https://download.yashandb.com/download

下载了personal版和云管理工具YCM

部署文档:

https://doc.yashandb.com/yashandb/23.1

https://doc.yashandb.com/ycm/23.1/

安装部署

和单机版Oracle部署比较接近,在正式安装部署之前,需要创建用户、修改系统参数、创建文件夹几个步骤:

1.创建用户

useradd yashan  
passwd yashan

2.修改系统参数

YashanDB这里主要是修改limits文件,其他地方不用动,一个命令搞定然后重启生效:

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

3.创建文件夹

官网文档推荐的是/home/yashan,我个人习惯是建立了一个目录/opt/app/yashan,把所有相关的文件都部署在这里

# mkdir -p /opt/app/yashan/install  
# cd /opt/app  
# chown -R yashan yashan  

4.解压缩文件

我下载的是yashandb-personal-23.1.1.100-linux-x86_64.tar.gz,大家根据下载时间可能小版本号有所不同,将这个文件复制到install目录下解压缩

$ tar -zxvf yashandb-personal-23.1.1.100-linux-x86_64.tar.gz  

5.生成配置文件

这一步骤是用于部署时调用的toml文件,在install目录下使用命令,这里的IP和端口号什么的都可以根据自己实际情况来改

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

看到Generate config success就意味着成功了

几个参数的意义如下:

--cluster 数据库集群的名字  

-u 操作系统用户名

-p 对应的密码

--ip 部署的目标服务器,建议这里不要写127.0.0.1和localhost

--port ssh 端口号

--install-path 数据库软件安装路径,约等于ORACLE_HOME  

--data-path 数据文件所在路径,约等于ORADATA目录  

--begin-port 数据库服务的起始端口号  

这步完成之后,会生成两个toml文件yashandb.toml和hosts.toml,保险起见再vim进去看看,有没有哪里有误

6.安装数据库

执行如下命令,安装数据库软件,会有一个进度条

$ ./bin/yasboot package install -t hosts.toml -i yashandb-personal-23.1.1.100-linux-x86_64.tar.gz
checking install package...  
install version: yashandb 23.1.1.100  
host0001 100% [====================================================================] 5s  
update host to yasom…

**这里需要注意的是,如果这一步骤出了问题,一定要手动删掉之前的install-path路径,并且重新将tar包复制到install目录下一份,否则会出现解压失败,**不知道是不是bug,我在这里反复出现解压失败,然后发现install目录下的tar包解压也会失败,只能重新下载一份。

7.部署数据库

这一步骤约等于Oracle的DBCA,创建并注册一个数据库实例

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

同时修改环境变量

$ cd /opt/app/yashan/yasdb_home/yashandb/23.1.1.100/conf  
# 如~/.bashrc中已存在YashanDB相关的环境变量,将其清除  
$ cat yashandb.bashrc >> ~/.bashrc  
$ source ~/.bashrc  

设置sys密码,这里的命令确实是可以把Oracle的使用习惯迁移过来

$ cd /opt/app/yashan/yasdb_data/db-1-1/instance  
$ mv yasdb.pwd yasdb1.pwd  
$ yaspwd file=yasdb.pwd  
Enter password for SYS:  

8.验证结果

如果如上步骤都完成了,就可以看到当前实例的运行状态

$ yasboot cluster status -c yashandb
 host_id  | node_type | nodeid | pid
--------------------------------------
 host0001 | db        | 1-1:1  | 8554

目前pid是8554,我们在用命令提示行登录:

Enter password for SYS:yasdb_123  
$ yasql sys/yasdb_123  
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>

能够看到已经成功登入,再做个简单查询:

SQL> select * from dba_Data_files;
---------------------------------------------------------------- ------------ ---------------------------------------------------------------- --------------------- ------------ --------- --------------------- ----------- ----------- --------------------- --------------------- ------------ 
/opt/app/yashan/yasdb_data/db-1-1/dbfiles/system                            0 SYSTEM                                                                        67108864         8192 ONLINE             549755813888    67108864 ON                       67108864              47120384         5752
/opt/app/yashan/yasdb_data/db-1-1/dbfiles/sysaux                            1 SYSAUX                                                                        67108864         8192 ONLINE             549755813888    67108864 ON                       67108864              64880640         7920
/opt/app/yashan/yasdb_data/db-1-1/dbfiles/temp                              2 TEMP                                                                          67108864         8192 ONLINE             549755813888    67108864 ON                       67108864              61865984         7552
/opt/app/yashan/yasdb_data/db-1-1/dbfiles/swap                              3 SWAP                                                                          67108864         8192 ONLINE             549755813888    67108864 ON                       67108864              66060288         8064
/opt/app/yashan/yasdb_data/db-1-1/dbfiles/users                             4 USERS                                                                         67108864         8192 ONLINE             549755813888    67108864 ON                       67108864              66060288         8064
/opt/app/yashan/yasdb_data/db-1-1/dbfiles/undo                              5 UNDO                                                                         134217728        16384 ONLINE              68719476736     8388608 ON                       67108864              58195968         7104

6 rows fetched.

SQL> select database_id,database_name from v$database;

          DATABASE_ID DATABASE_NAME                                                    
--------------------- ---------------------------------------------------------------- 
           2682529795 yashandb                                                        

1 row fetched.

这里让我感到惊讶的是,凭着自己对Oracle肌肉记忆敲出来的命令,竟然全都抛出结果了,兼容性做到这个程度,让我意外惊喜。

部署Cloud Manger

实例的部署时间比预期少很多,既然YCM都下载了,那就一起部署吧。

1.准备工作

先按照官方文档把libnsl安装了,因为我用的是Redhat8.8,所以还是用了allowerasing参数把个别rpm包降级,如果你用的不是这么高版本可以不加

yum install libnsl

2.部署YCM

我在/opt/app/yashan下创建一个目录ycm,把压缩包复制到里面解压缩后,只需要对一个ycm-init操作即可

# ./ycm-init deploy

这中间如果报错,大概率是一些系统文件比如rc.local没有+x权限导致,根据自己报错情况调整即可,然后启动web服务

# ./ycm-init web  

到这一步就可以去浏览器访问初始化了

3.初始化YCM

在网页端输入你的ip:9001,把各类参数填上开始初始化

4.添加服务器和数据库

在添加数据库之前需要添加服务器

然后添加数据库,这里的数据库名称就是之前初始化时cluster参数的名字,也可以从SQL命令从v$database去查(如果没有执行yasboot cluster deploy,这一步这里扫描不出来)

5.查看数据库状态

YCM内置了很多运维功能,除了折线图和各种告警信息,还可以比如创建备份策略、创建快照生成性能报告等等,很实用

总结

从部署数据库到YCM,再到完成到把文章写出来,用了大概三个小时不到,中间还有我吃午饭的时间,作为之前从没接触过YashanDB的我来说,这次部署感觉非常惊喜,做一个总结吧,优缺点都说说。

优点

  • 单机版安装部署简单,几乎不需要官网文档之外的任何指导
  • 对Oracle高度兼容的各种命令和使用习惯
  • Cloud Manager内置的功能很常用,一看就是有老DBA参与的

不足

  • 安装过程中的压缩包失效情况,不知道是不是我个人系统问题还是其他原因
  • 文档中的个别概念建议做一下解释,比如密码文件是做什么的,尤其对不熟悉Oracle的用户来说

后续我希望继续再尝试使用一下不同场景,也希望YashanDB能够给我们持续带来更多惊喜。

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

评论