暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

YashanDB崖山数据库部署问题及解决

原创 彭冲 2024-12-21
272

本文在Cenots 7.9/Centos8.4的arm架构下测试YashanDB官网最新的企业版23.2.4,下载的数据库包文件名为:yashandb-23.2.4.100-linux-aarch64.tar.gz

测试中遇到一些问题记录如下:

1.CPU和内存限制问题

官方文档有最低资源限制,要求不低于2C4G。

  • 虚拟机CPU使用1C时,yasboot package install命令将报错
ip:192.168.20.100 cpu cores is less than 2 config check failed
复制
  • 虚拟机内存低于4GB时,yasboot package install命令将报错
ip:192.168.20.200 memory is less than 4096MB config check failed
复制

虽然文档有这个限制说明,但个人觉得提高内存和磁盘的部署限制都是为了方便甩锅,硬性限制资源对于开发学习者并不友好。

如果是担心客户生产环境出问题,可以更灵活一点,比如生产环境运行时再检查连接数及运行时内存。对于个人开发者,限制使用连接数,就不用担心资源问题。

2.yashan用户权限问题

官方文档在安装前的准备环境要求配置yashan用户的sudo权限

yashan ALL=(ALL)NOPASSWD:ALL
复制

但使用yasboot命令部署时仍然提示目录权限问题:

host0001 failed, 102, 创建远程文件夹失败:, Process exited with status 1:mkdir: cannot create directory ‘/opt/yasdb’: Permission denied package install failed
复制

依然需要手工使用root进行创建

mkdir /opt/yasdb mkdir /opt/yasdb_data chown yashan: /opt/yasdb chown yashan: /opt/yasdb_data
复制

3.yashan用户的group强制要求yashan

使用yasboot命令部署时提示如下错误:

host0001 failed, 116, , stdout: user yashan don't belong to group yashan stderr: package install failed
复制

检查分析原因时发现与创建yashan用户的方式有关

在部署其他数据库创建宿主时习惯先建group,再建user同时设置group,但官方文档创建yashan用户实际设置了两个group

useradd yashan groupadd YASDBA usermod -a -G YASDBA yashan
复制

这里创建时与官方文档不一致,引出yashan用户需要在yashan的group里,建议官方文档再明确一下。

4.安装失败不回滚

使用yasboot命令部署如果之前出现过错误,修复错误后再次部署会提示:

host0001 failed, 1, , yasdb path: /opt/yasdb/yashandb/23.2.4.100 is already installed package install failed
复制

上次部署失败后未做相应的回滚操作,需要手工清理二进制目录和数据目录

rm -rf /opt/yasdb/* rm -rf /opt/yasdb_data/*
复制

5.ssh访问失败问题

前面创建yashan用户时,忘记设置用户密码,结果执行yasboot命令出现如下错误:

ip:192.168.20.100 scan failed, 主机扫描失败:ssh: handshake failed: ssh: unable to authenticate, attempted methods [none password], no supported methods remain config check failed
复制

设置yashan密码后正常

6.openssl问题

执行yasboot cluster deploy命令时遇到最后一个错误

task completed, status: FAILED retcode: 1 stdout: start node with ping stderr: wait node 1-1 process start failed: failed to init dynamic library OPENSSL Failed to start instance
复制

本地检查openssl的依赖包如下

# rpm -qa |grep openssl openssl-libs-1.1.1g-15.el8_3.aarch64 openssl-1.1.1g-15.el8_3.aarch64 openssl-devel-1.1.1g-15.el8_3.aarch64 openssl-pkcs11-0.4.10-2.el8.aarch64
复制

在YashanDB技术交流群获得支持,该版本依赖openssl-1.1.1l,需要先移除旧版本再手工编译新版本。

由于本人虚机上同时安装一些其他国产库,也依赖openssl,为了避免新版本对OS的依赖影响,暂时放弃升级openssl,期望YashanDB后面的新版本能直接解决这个问题。

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

评论