【YashanDB认证】yashandb23.3.1 个人版单机部署安装实践
YCA报名链接如下:
YashanDB|崖山数据库系统YashanDB学习中心-YCA认证详情
目前免费
主要参考文档:
单机(主备)部署 | YashanDB Doc
另外还参考摩天轮文章:
YashanDB 23.2.9.101 企业版安装步骤抢先看! - 墨天轮
需要说明的是 23.3.1版本目前还需依赖openssl 1.1.1 ,所以需要进行升级。
升级ssl的文章我参考了下面文章
https://zhuanlan.zhihu.com/p/693904453
下面官网链接给出了23.3安装需要的一些依赖,包括lz4压缩等:
依赖项准备 | YashanDB Doc
下面我正式开始我的折腾过程:
下载安装介质
首先从yashandb官网
YashanDB 下载中心下载安装介质,这里我下载的是个人版23.3版本,如下图所示:

顺便打开在线文档,找到安装一节,发现对应的要求为:

本文采用超融合的虚拟机 4c 16g 500GB数据盘,操作系统为centos 7.8 ,文件系统为XFS,网卡为虚拟千兆网卡,如下图所示


![]()
上面已经跑了个小实例pg 17,不过应该不影响本次yashan数据库的部署。根据安装文档继续下一步
创建安装用户
建议创建一个新用户安装YashanDB数据库。
-
切换至root用户,并执行如下命令创建新用户yashan:
$ su root # useradd yashan
![]()
配置sudo免密。
首先,请打开/etc/sudoers文件,通常情况下,即使root用户都无该文件的编辑权限,此时需要先对root授权。
# cd /etc
# ll sudoers
# chmod +w sudoers
# vi /etc/sudoers
在文件的最后添加如下内容后保存退出:
yashan ALL=(ALL)NOPASSWD:ALL
如下图所示:

最后,如该文件初始为只读,恢复其属性:
# chmod -w sudoers
将yashan用户加入到YASDBA用户组。
# groupadd YASDBA
# usermod -a -G YASDBA yashan
具体操作如下:
执行如下命令为用户yashan指定密码:此处假设设置为Yashan*123
以下参数来自官方文档:
作系统参数调整
下表为YashanDB数据库所需的资源限制值的最小要求,请根据下表所示将资源限制值调整为大于或等于最小要求的值。
| 资源项 | 描述 | 推荐值 |
|---|---|---|
| open files | 文件句柄 | 1048576 |
| max user processes | 最大用户线程数 | 1048576 |
| max memory size | 最大内存限制 | unlimited |
| stack size | 堆栈大小 | 8192 |
执行如下命令查看系统的所有资源限制值:

操作系统参数调整有如下两种方式,请根据自身需求选择其一进行配置:
-
配置参数临时生效
执行如下命令使新配置的资源限制值临时生效,重启操作系统后无效:
# ulimit -n 1048576 # ulimit -u 1048576 # ulimit -m unlimited # ulimit -s 8192 -
配置参数永久生效,此处使用永久生效
执行如下命令将参数写入
/etc/security/limits.conf文件,重启操作系统后参数永久生效:echo "
* soft nofile 1048576
* hard nofile 1048576
* soft nproc 1048576
* hard nproc 1048576
* soft rss unlimited
* hard rss unlimited
* soft stack 8192
* hard stack 8192
" >> /etc/security/limits.conf
-
本机文件如图
-
重启操作系统。
正式安装:
上传安装介质至服务器

创建安装目录
-
执行如下命令切换至yashan用户:
-
su yashan
-
cd
-
mkdir install
切换回root用户 ,复制安装包至/home/yashan/install/
cp yashandb-personal-23.3.1.100-linux-x86_64.tar.gz /home/yashan/install/
切换回yashan用户
su yashan
cd /home/yashan/install
解压缩
tar -xzvf yashandb-personal-23.3.1.100-linux-x86_64.tar.gz
ll
根据实际情况生成配置文件
./bin/yasboot package se gen --cluster yashandb -u yashan -p Yashan*123 --ip 10.89.136.26 --port 29022 --install-path /data460/yashan/yasdb_home --data-path /data460/yashan/yasdb_data --begin-port 1688

执行安装
./bin/yasboot package install -t hosts.toml -i yashandb-personal-23.3.1.100-linux-x86_64.tar.gz

提示没有权限创建文件夹,这个官方文档里面没有说明需要提前创建文件夹。
切换root用户创建文件夹,并授权
![]()
再切换到yashan用户进行安装

执行部署
./bin/yasboot cluster deploy -t yashandb.toml
报错

咨询技术专家可能是如下问题,执行对应命令试一下。

这两个文件都存在


清除原先链接关系,重新建立软链
mv /lib64/libssl.so /lib64/libssl.so.old
mv /lib64/libcrypto.so /lib64/libcrypto.so.old
在执行:
ln -s /lib64/libssl.so.10 /lib64/libssl.so
ln -s /lib64/libcrypto.so.10 /lib64/libcrypto.so
再次查看
ldconfig -p | grep -E "libcrypto.so|libssl.so"

之后尝试还是失败,安装时提示要升级ssl

咨询了一下崖山DB的老师,发现这个版本还是需要依赖ssl特定版本的,还未进行优化,因此决定升级openssl,如果不升级的话,可以安装23.2版本试一下。

先把环境恢复原状:
[root@ecs-51s-lr-cqwjw-testpoc-005 bin]# rm /lib64/libssl.so /lib64/libcrypto.so
rm: remove symbolic link ‘/lib64/libssl.so’? y
rm: remove symbolic link ‘/lib64/libcrypto.so’? y
[root@ecs-51s-lr-cqwjw-testpoc-005 bin]# mv /lib64/libssl.so.old /lib64/libssl.so
[root@ecs-51s-lr-cqwjw-testpoc-005 bin]# mv /lib64/libcrypto.so.old /lib64/libcrypto.so
[root@ecs-51s-lr-cqwjw-testpoc-005 bin]# ldconfig

升级openssl
升级到1.1.1w ,担心3版本不兼容,还是根据要求升级到1.1.1w,具体如下

下载新版本,上传服务器,并解压
tar -xzvf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
备份老版本ssl
# 为了避免出现旧版本被删除而新版本安装不成功的情况,需要对旧版本进行备份
[root@ecs-51s-lr-cqwjw-testpoc-005 openssl-1.1.1w]# mv /usr/bin/openssl /usr/bin/openssl.old
[root@ecs-51s-lr-cqwjw-testpoc-005 openssl-1.1.1w]# mv /usr/include/openssl /usr/include/openssl.old
安装
# 配置,--prefix为安装路径
./config --prefix=/usr/local/openssl
make&&make install

5、链接新版本openssl
ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
#更新动态链接库
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
查看版本
openssl version

升级openssl成功,我们可以继续安装yashandb了。
切换到yashan用户
su yashan
cd /home/yashan/install/
继续部署
./bin/yasboot cluster deploy -t yashandb.toml

提示错误,进行清理。
./bin/yasboot cluster clean -c yashandb --purge

重新进行部署:
./bin/yasboot cluster deploy -t yashandb.toml
部署成功,如下图

配置环境变量
执行如下命令,生效环境变量。
cd /data460/yashan/yasdb_home/yashandb/23.3.1.100/conf
cat yashandb.bashrc >> ~/.bashrc
source ~/.bashrc
看到脚本中提到rlwrap ,建议安装一下,这样yasql的命令行会更智能

切换到root用户 安装rlwrap
yum install rlwrap -y
检查安装结果
若连接报错或执行SQL语句报错,请根据错误提示信息检查安装步骤,或咨询我们的技术支持。
- YashanDB不提供系统初始口令,需使用yasboot工具设置数据库sys用户的密码,以安装用户登录到服务器并执行如下命令设置密码,其中Yashan*123为需要设置的密码,按需修改。yasboot cluster password set -n Yashan*123 -c yashandb

- 执行如下命令,查看数据库状态。
- yasboot cluster status -c yashandb -d

使用yasql工具连接数据库,查看实例状态。
yasql sys/Yashan*123@10.89.136.26:1688


(可选)创建数据库用户并赋权,更多操作请查阅用户管理。

Note:
如需开启monit功能,可参考守护进程完成相关配置。
相关文章:
【YashanDB认证】yashandb23.3.1 个人版单机部署安装实践
YCA报名链接如下: YashanDB|崖山数据库系统YashanDB学习中心-YCA认证详情 目前免费 主要参考文档: 单机(主备)部署 | YashanDB Doc 另外还参考摩天轮文章: YashanDB 23.2.9.101 企业版安装步骤抢先看! - 墨天轮 …...
安全渗透测试的全面解析与实践
引言 随着网络安全威胁的日益增加,企业和组织对自身系统的安全性提出了更高的要求。安全渗透测试(Penetration Testing,简称渗透测试)作为主动发现和修复系统安全漏洞的重要手段,已成为安全防护体系中的关键环节。本文…...
通俗易懂的分类算法之决策树详解
通俗易懂的分类算法之决策树详解 1. 什么是决策树? 决策树是一种像树一样的结构,用来帮助我们对数据进行分类或预测。它的每个节点代表一个问题或判断条件,每个分支代表一个可能的答案,最后的叶子节点就是最终的分类结果。 举个…...
【OpenCV C++】以时间命名存图,自动检查存储目录,若不存在自动创建, 按下空格、回车、Q、S自动存图
文章目录 // 保存图像的函数 void saveImage(const cv::Mat& frame) {// 生成唯一文件名auto now = std::chrono::system_clock::...
post get 给后端传参数
post 方式一 : data: params 作为请求体(Request Body)传递: 你已经展示了这种方式,通过data字段直接传递一个对象或数组。这种方式通常用于传递复杂的数据结构。dowmfrom: function (params) { return request({ u…...
数据仓库的特点
数据仓库的主要特点可以概括为:面向主题、集成性、非易失性、时变性、高性能和可扩展性、支持复杂查询和分析、分层架构以及数据质量管理。 1. 面向主题(Subject-Oriented) 数据仓库是面向主题的,而不是面向事务的。这意味着数据…...
任务9:交换机基础及配置
CSDN 原创主页:不羁https://blog.csdn.net/2303_76492156?typeblog 一、交换机基础 交换机的概念:交换机是一种网络设备,用于连接多台计算机或网络设备,实现数据包在局域网内的快速交换。交换机基于MAC地址来转发数据包&#x…...
ArcGIS操作:07 绘制矢量shp面
1、点击目录 2、右侧显示目录 3、选择要存储的文件夹,新建shp 4、定义名称、要素类型、坐标系 5、点击开始编辑 6、点击创建要素 7、右侧选择图层、创建面 8、开始绘制,双击任意位置结束绘制...
【AI深度学习基础】NumPy完全指南终极篇:核心功能与工程实践(含完整代码)
NumPy系列文章 入门篇进阶篇终极篇 一、引言 在完成NumPy入门篇的基础认知与进阶篇的特性探索后,我们终于迎来这场终极技术深潜。本文不再停留于API使用层面,而是直指NumPy的架构内核与高性能工程实践的本质矛盾。作为Python科学计算领域的基石&#…...
Golang语法特性总结
1.认识Golang代码特性 package main //1.包含main函数的文件就是一个main包--当前程序的包名// import "fmt" // import "time" import("fmt""time" )//3.同时包含多个包 4.强制代码风格:函数的 { 一定和函数名在同一行,否…...
Java并发编程利器CyclicBarrier:从使用到源码深度解析,掌握多线程同步的艺术
引言 在多线程编程中,你是否遇到过这样的需求? 多线程分阶段处理数据,每个阶段完成后等待其他线程 并行计算任务需要多次同步汇总结果 模拟高并发场景下多个线程同时触发操作 CyclicBarrier(循环屏障)正是解决这类问题的神器!与CountDownLatch不同,它支持重复使用和自定…...
1.从0搭建前端Vue项目工程
我们通过vue官方提供的脚手架Vue-cli来快速生成一个Vue的项目模板。 **注意:**需要先安装NodeJS,然后才能安装Vue-cli。 环境准备好了,接下来我们需要通过Vue-cli创建一个vue项目,然后再学习一下vue项目的目录结构。Vue-cli提供了…...
3D Web轻量化引擎HOOPS Communicator的核心优势解析:高性能可视化与灵活部署!
在当今数字化时代,工业领域的工程应用不断向基于Web的方向发展,而HOOPS Web平台作为一款专为构建此类工程应用程序打造的软件开发套件集,正发挥着日益重要的作用,成为构建强大工程应用的基石。 一、HOOPS Web平台概述 HOOPS Web…...
DeepSeek集成到VScode工具,让编程更高效
DeepSeek与VScode的强强联合,为编程效率树立了新标杆。 DeepSeek,一款卓越的代码搜索引擎,以其精准的索引和高速的检索能力,助力开发者在浩瀚的代码海洋中迅速定位关键信息。 集成至VScode后,开发者无需离开熟悉的编辑…...
Excel-to-JSON v2.0.0发布,可以在Excel内部,把Excel表格转换成JSON,嵌套的JSON也能转
本文是Excel-to-JSON插件的官方文档 https://excel-to-json.wtsolutions.cn 简化浓缩翻译的中文版,仅供参考。详细的还请查看官方文档。 在数据处理和交换的过程中,将Excel文件转换为JSON格式是一项常见需求。Excel-to-JSON作为一款Microsoft Excel插件…...
深度探索:美团开源DeepSeek R1 INT8量化技术的性能革命
摘要 美团搜索推荐机器学习团队近日发布了一项重要开源成果——DeepSeek R1的INT8无损满血版。该模型部署在A100硬件上,采用INT8量化技术,在保持BF16精度的同时,实现了高达50%的吞吐量提升。这一突破使得老旧显卡无需更换硬件即可获得显著性能…...
gn学习存档
以下答案均由deepseek提供,仅作学习存档。 1. 举例说明action和action_foreach区别 场景设定 假设需要处理一组文件: 输入文件:src/data/file1.txt, src/data/file2.txt, src/data/file3.txt处理逻辑:将每个 .txt 文件转换为 …...
扩展Windows磁盘的技术型教学文章
在Windows操作系统中,扩展磁盘是一项常见的任务,特别是当您需要增加存储空间以容纳更多数据时。以下是一份技术性的教学文章,介绍如何在Windows系统中扩展磁盘: #### 步骤一:打开磁盘管理器 1. 按下 Win X 组合键&a…...
【每日学点HarmonyOS Next知识】web滚动、事件回调、selectable属性、监听H5内部router、Grid嵌套时高度设置
【每日学点HarmonyOS Next知识】web滚动、事件回调、selectable属性、监听H5内部router、Grid嵌套时高度设置 1、HarmonyOS WebView加载url无法滚动? scroll 里面嵌套webView,demo参考: // xxx.ets import web_webview from ohos.web.webv…...
(十 四)趣学设计模式 之 策略模式!
目录 一、 啥是策略模式?二、 为什么要用策略模式?三、 策略模式的实现方式四、 策略模式的优缺点五、 策略模式的应用场景六、 总结 🌟我的其他文章也讲解的比较有趣😁,如果喜欢博主的讲解方式,可以多多支…...
FPGA无人机电源设计:集成PMIC方案如何解决多路供电与空间挑战
1. 项目概述与核心挑战最近在做一个由FPGA控制的无人机项目,其中电源管理系统的设计让我感触颇深。无人机这玩意儿,飞控、图传、传感器一个比一个耗电,但留给电源和PCB的空间却极其有限。更头疼的是,主控用上了高性能的FPGA或SoC&…...
DLSS Swapper终极指南:如何免费智能管理游戏DLSS文件,提升游戏性能
DLSS Swapper终极指南:如何免费智能管理游戏DLSS文件,提升游戏性能 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 你是否厌倦了每次游戏更新后手动替换DLSS文件的繁琐操作?你是否希…...
车间管理越管越乱?找准根源+避坑,跳出管理内耗
很多车间管理者都深陷这样的困境:每天忙得脚不沾地,盯进度、查卫生、处理各类现场异常,耗尽心力却收效甚微,车间反而越管越乱——物料堆放杂乱无章、工序衔接频频脱节、员工操作随心所欲、设备故障时有发生,产能上不去…...
serverless-http 与主流框架兼容性测试:Express、Koa、Hapi、Fastify 全面对比
serverless-http 与主流框架兼容性测试:Express、Koa、Hapi、Fastify 全面对比 【免费下载链接】serverless-http Use your existing middleware framework (e.g. Express, Koa) in AWS Lambda 🎉 项目地址: https://gitcode.com/gh_mirrors/se/server…...
TPFanCtrl2:ThinkPad笔记本风扇控制的终极自定义方案
TPFanCtrl2:ThinkPad笔记本风扇控制的终极自定义方案 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 对于ThinkPad用户而言,原厂的风扇控制策略…...
Spire性能优化技巧:如何高效使用Rational和SafeLong提升Scala数值计算效率
Spire性能优化技巧:如何高效使用Rational和SafeLong提升Scala数值计算效率 【免费下载链接】spire Powerful new number types and numeric abstractions for Scala. 项目地址: https://gitcode.com/gh_mirrors/spi/spire Spire作为Scala的强大数值库&#x…...
【MySQL百日打怪升级第8天】SELECT执行流程
【第8天】每天一个MySQL知识点,百日打怪升级 SQL基础:SELECT执行流程 大家好,我是一名拥有10年以上经验的DBA老兵。 做这个系列,源于一个朴素的愿望:把踩过的坑、总结的经验系统化输出,希望能帮到刚入行或…...
第4篇:角色设定与上下文管理——让AI扮演专家
第4篇:角色设定与上下文管理——让AI扮演专家适用人群:进阶 | 字数:约25,000字 | 预计阅读时间:60分钟前言 在前面三篇中,我们完成了"入门三部曲":知道了提示词的本质,学会了黄金四步…...
手把手教你:在STM32F103C8T6上搞定ST25R3911B NFC读卡器(基于RFAL V2.8.0)
在STM32F103C8T6上实现ST25R3911B NFC读卡器的完整移植指南 对于嵌入式开发者来说,将NFC功能集成到资源受限的MCU上是一项常见但充满挑战的任务。本文将详细介绍如何在STM32F103C8T6这款经典Cortex-M3 MCU上,成功移植ST25R3911B NFC读卡器驱动和RFAL库(V…...
遗传算法组卷效果总是不理想?可能是你的‘适应度函数’没调好(Java实战避坑)
遗传算法组卷效果优化:从适应度函数设计到Java实战调优 当你在深夜盯着屏幕,反复运行遗传算法组卷程序却始终得不到理想的试卷时,那种挫败感我深有体会。三年前我在开发在线教育平台时,曾连续两周被组卷效果不稳定问题困扰——试卷…...
