【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…...

(十 四)趣学设计模式 之 策略模式!
目录 一、 啥是策略模式?二、 为什么要用策略模式?三、 策略模式的实现方式四、 策略模式的优缺点五、 策略模式的应用场景六、 总结 🌟我的其他文章也讲解的比较有趣😁,如果喜欢博主的讲解方式,可以多多支…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...

html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...