【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 企业版安装步骤抢先看! - 墨天轮 …...
ProfibusDP主站转ModbusTCP网关如何进行数据互换
ProfibusDP主站转ModbusTCP网关如何进行数据互换 在现代工业自动化领域,通信协议的多样性和复杂性不断增加。Profibus DP作为一种经典的现场总线标准,广泛应用于工业控制网络中;而Modbus TCP作为基于以太网的通信协议,因其简单易…...
正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-2.1 uboot简介
前言: 本文是根据哔哩哔哩网站上“Arm(iMX6U)Linux系统移植和根文件系统构键篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。 引用: …...
Qt 实现绘图板(支持橡皮擦与 Ctrl+Z 撤销功能)[特殊字符]
作业: 1:实现绘图的时候,颜色的随时调整 2:追加橡皮擦功能 3:配合键盘事件,实现功能 当键盘按 ctrlz的时候,撤销最后一次绘图 头文件.h #ifndef WIDGET_H #define WIDGET_H#include <QWidge…...
基于STM32的智能家居蓝牙系统(论文+源码)
1总体方案设计 本次基于STM32的智能家居蓝牙系统,其系统总体架构如图2.1所示,采用STM32f103单片机作为控制器,通过DHT11传感器实现温湿度检测,MQ-2烟雾传感器实现烟雾检测,光敏电阻实现光照检测,同时将数据…...
系统架构设计师—数据库基础篇—关系代数运算
文章目录 名词选择运算示例1示例2 投影示例1 笛卡尔积示例1 连接等值连接示例1 自然连接示例1 外连接左外连接右外连接完全外连接 名词 关系:二维表的表名。 元组:二维表中的一行,在数据库中称为记录。 属性:二维表中的一列&am…...
el-table一格两行;概率;find
样式: 根据概率表头关键代码:rateRanges; scope.row.targetHitTable.find((target:any) > target.targetHitRate > range.min && target.targetHitRate < range.max)!.targetHitNum (1)!.是TypeScri…...
前端跨域设置 withCredentials: true
在做登录认证的时候,会出现请求未登录的情况,查看请求头的时候发现并没有把登录时的cookie设置到第二次的请求头里面。查看资料才知道跨域请求要想带上cookie,必须要在ajax请求里加上 withCredentials: true 再次访问发现请求头可以携带cook…...
Vue 文件下载功能的跨域处理与前后端实现详解
在 Web 应用开发中,文件下载功能是常见需求。但由于跨域限制和认证机制的复杂性,实际开发中常遇到下载失败或权限错误等问题。本文将结合 Vue 前端和 Spring Boot 后端,详细介绍文件下载功能的实现与跨域问题的解决方案。 一、问题背景 在某…...
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_conf_read_token - 详解(3)
详解(3) if (last_space) {start b->pos - 1;start_line cf->conf_file->line;if (ch || ch \t || ch CR || ch LF) {continue;}switch (ch) {case ;:case {:if (cf->args->nelts 0) {ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,…...
私有云基础架构与运维(一)
私有云基础架构与运维(OpenStackopenEuler版) 项目一.OpenStack 云计算基础架构平台概述 任务1.1 安装部署虚拟化环境 通过安装 openEuler-22.09 操作系统来熟悉虚拟机的安装,在操作过程中熟悉计算机虚 拟化资源的分配管理。 1.1.1 VMware…...
代码随想录算法训练营第35天 | 01背包问题二维、01背包问题一维、416. 分割等和子集
一、01背包问题二维 二维数组,一维为物品,二维为背包重量 import java.util.Scanner;public class Main{public static void main(String[] args){Scanner scanner new Scanner(System.in);int n scanner.nextInt();int bag scanner.nextInt();int[…...
大学至今的反思与总结
现在是2025年的3月5日,我大三下学期。 自大学伊始,我便以考研作为自己的目标,有时还会做自己考研上岸头部985,211,offer如潮水般涌来的美梦。 但是我却忽略了一点,即便我早早下定了决心去考研,但并没有早…...
PySide(PyQT)的视图(QGraphicsView)范例(一) 基本框架
最近学习了视图(QGraphicsView)的知识,总结一下,做一个demo以备忘。在demo中演示了常用的设置方法和信号槽传递机制。 QT的视图(QGraphicsView)体系是建立在场景(QGraphicsScene)基础…...
深入理解seata使用和源码分析
一、数据库事务ACID特性 基础概念:事务ACID A(Atomic):原子性,构成事务的所有操作,要么都执行完成,要么全部不执行,不可能出现部分成功部分失 败的情况。C(Consistency):一致性,在事务执行前后,数据库的一致性约束没有被破坏。比如:张三向李四转100元, 转账前和…...
centos8更换阿里云yum源
1.centos8更换为阿里云yum源 2.更换阿里云Yum-centos8源 mv /etc/yum.repos.d/CentOS-Stream-BaseOS.repo /etc/yum.repos.d/CentOS-Stream-BaseOS.repo.backupcurl -o /etc/yum.repos.d/CentOS-Stream-BaseOS.repo https://mirrors.aliyun.com/repo/Centos-8.repowget -O /et…...
单粒子翻转对FPGA的影响及解决方法
1 单粒子翻转对FPGA 的影响 对于在轨的空间应用而言,需要考虑外太空辐射对电子元器件带来的影响,包括单粒子翻转(Single Event Upset,SEU)、多粒子翻转(Multiple Bit Upset,MBU)、单粒子瞬态效应(Single Event Transient,SET)、单粒子功能中断(SingleEvent Functi…...
君正SOC芯片 T31X智能视频应用处理器 高集成度 超低功耗 提供软硬件资料+样品测试
君正(Ingenic)T31X是一款面向智能视频应用的高性能、低功耗处理器,适用于安防监控、智能家居和物联网等领域。以下是其主要技术参数: 1. 处理器(CPU): 架构:XBurst-1内核主频&…...
基于Python Django的人脸识别上课考勤系统(附源码,部署)
博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...
论述AI对学习发展的改变(网页设计)
谈自己对AI看法 AI,即人工智能,是当今科技领域最具影响力和变革性的技术之一,对其看法可以从多个方面来探讨 积极方面 强大的技术能力 高效的数据处理出色的学习能力广泛的应用价值改善生活质量科学研究的有力助手加速科学发现 挑战和问题 伦…...
JS—组成:2分钟掌握什么是ECMAScript操作,什么是DOM操作,什么是BOM操作
个人博客:haichenyi.com。感谢关注 1. 目录 1–目录2–组成3–内置对象 2. 组成 一直都在说JS,JS,到底啥是JS有了解过吗?JS由哪几部分组成的呢? 定义: JavaScript是一种轻量级、解释型或即时编译型的编程语…...
Oracle数据库监听学习
官方文档: Net Services Administrators Guide Net Services Reference 一、动态注册 1.实例启动后,LREG 进程每分钟自动将服务名(service_name)注册到监听器中 也可以通过 alter system register 命令实现立刻注册。&#x…...
Vue Hooks 深度解析:从原理到实践
Vue Hooks 深度解析:从原理到实践 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家!点我试试!! 文章目录 Vue Hooks 深度解析:从原理到实践一、背景…...
5c/c++内存管理
1. C/C内存分布 int globalVar 1; static int staticGlobalVar 1; void Test() {static int staticVar 1;int localVar 1;int num1[10] { 1, 2, 3, 4 };char char2[] "abcd";const char* pChar3 "abcd";int* ptr1 (int*)malloc(sizeof(int) * 4);i…...
Android14 OTA差分包升级报Package is for source build
制作好差分包,使用adb线刷模式验证ota升级,出现E:Package is for source build错误 使用adb方式验证 进入recovery模式 adb reboot recovery稍等一会界面会提示 Now send the package you want to apply to the device with "adb sidelaod <…...
C++中的无锁编程
引言 在当今多核处理器普及的时代,并发编程已成为高性能应用程序开发的关键技术。传统的基于锁的同步机制虽然使用简单,但往往会带来性能瓶颈和死锁风险。无锁编程(Lock-Free Programming)作为一种先进的并发编程范式,…...
7. 机器人记录数据集(具身智能机器人套件)
1. 树莓派启动机器人 conda activate lerobotpython lerobot/scripts/control_robot.py \--robot.typelekiwi \--control.typeremote_robot2. huggingface平台配置 huggingface官网 注册登录申请token(要有写权限)安装客户端 # 安装 pip install -U …...
设计模式 + java8方法引用 实现任意表的过滤器
会用到下面2个依赖,原因是在今天的案例中,我想在我代码中使用上Entity::getFieldName 这种形式 LambdaQueryWrapper<ApplicationDashboard> queryWrapper new LambdaQueryWrapper<>(); queryWrapper.eq(ApplicationDashboard::getAppCode,…...
分布式锁—5.Redisson的读写锁二
大纲 1.Redisson读写锁RedissonReadWriteLock概述 2.读锁RedissonReadLock的获取读锁逻辑 3.写锁RedissonWriteLock的获取写锁逻辑 4.读锁RedissonReadLock的读读不互斥逻辑 5.RedissonReadLock和RedissonWriteLock的读写互斥逻辑 6.写锁RedissonWriteLock的写写互斥逻辑…...
【C++设计模式】第七篇:桥接模式(Bridge)
注意:复现代码时,确保 VS2022 使用 C17/20 标准以支持现代特性。 抽象与实现的解耦之道 1. 模式定义与用途 核心思想 桥接模式:将抽象部分与实现部分分离,使二者可以独立变化。关键用途: 1.拆分复杂继承…...
