【 使用环境 】测试环境
【 OB or 其他组件 】ob-all-in-one
【 使用版本 】4.3.5
【问题描述】麒麟 V10 操作系统,docker 运行龙蜥 8 容器安装 oceanbase 报错
【复现路径】obd 一键部署
【附件及日志】日志如下:
[2025-03-05 08:50:02.548] [DEBUG] - Found for oceanbase-ce-libs-install-3.1.0 for oceanbase-ce-libs-4.3.5.0
[2025-03-05 08:50:02.548] [DEBUG] - Search install plugin for openjdk-jre
[2025-03-05 08:50:02.548] [DEBUG] - Found for openjdk-jre-install-1.8.0_322 for openjdk-jre-1.8.0_322
[2025-03-05 08:50:02.548] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo
, count 27
[2025-03-05 08:50:02.548] [DEBUG] - mkdir /root/.obd/repository/oceanbase-ce-libs/4.3.5.0/62d30b4799c650c9881fc91643afcb251678cf8d
[2025-03-05 08:50:02.549] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo
, count 28
[2025-03-05 08:50:02.549] [DEBUG] - mkdir /root/.obd/repository/openjdk-jre/1.8.0_322/45e4b8c216b090a63583b70743c54e87b7b69aad
[2025-03-05 08:50:02.549] [DEBUG] - create instance repository for oceanbase-ce-libs-4.3.5.0
[2025-03-05 08:50:02.549] [INFO] install oceanbase-ce-libs-4.3.5.0 for local
[2025-03-05 08:50:02.550] [DEBUG] - rm /root/.obd/repository/oceanbase-ce-libs/4.3.5.0/62d30b4799c650c9881fc91643afcb251678cf8d
[2025-03-05 08:50:02.550] [DEBUG] - mkdir /root/.obd/repository/oceanbase-ce-libs/4.3.5.0/62d30b4799c650c9881fc91643afcb251678cf8d
[2025-03-05 08:50:02.555] [ERROR] failed to extract file from /root/.obd/mirror/local/oceanbase-ce-libs-4.3.5.0-100000202024123117.el8.x86_64.rpm
[2025-03-05 08:50:02.555] [ERROR] Traceback (most recent call last):
[2025-03-05 08:50:02.555] [ERROR] File “core.py”, line 1511, in deploy_cluster
[2025-03-05 08:50:02.555] [ERROR] File “core.py”, line 1589, in _deploy_cluster
[2025-03-05 08:50:02.555] [ERROR] File “core.py”, line 1675, in install_repositories_to_servers
[2025-03-05 08:50:02.555] [ERROR] File “core.py”, line 844, in install_lib_for_repositories
[2025-03-05 08:50:02.555] [ERROR] File “core.py”, line 791, in get_install_plugin_and_install
[2025-03-05 08:50:02.555] [ERROR] File “_repository.py”, line 403, in load_pkg
[2025-03-05 08:50:02.555] [ERROR] Exception: ./home/admin/oceanbase/lib/libmariadb.so not found in packge
[2025-03-05 08:50:02.555] [ERROR]
[2025-03-05 08:50:02.555] [DEBUG] - rm /root/.obd/repository/oceanbase-ce-libs/4.3.5.0/62d30b4799c650c9881fc91643afcb251678cf8d
[2025-03-05 08:50:02.555] [DEBUG] - mkdir /root/.obd/repository/oceanbase-ce-libs/4.3.5.0/62d30b4799c650c9881fc91643afcb251678cf8d
[2025-03-05 08:50:02.680] [INFO] [ERROR] failed to extract file from /root/.obd/mirror/local/oceanbase-ce-libs-4.3.5.0-100000202024123117.el8.x86_64.rpm
[2025-03-05 08:50:02.680] [INFO]
[2025-03-05 08:50:02.680] [ERROR] Failed to extract file from /root/.obd/mirror/local/oceanbase-ce-libs-4.3.5.0-100000202024123117.el8.x86_64.rpm
[2025-03-05 08:50:02.681] [ERROR] Failed to install lib package for local
[2025-03-05 08:50:02.686] [INFO] See https://www.oceanbase.com/product/ob-deployer/error-codes .
[2025-03-05 08:50:02.686] [INFO] Trace ID: aa2dfcb0-f99e-11ef-83ae-005056826591
[2025-03-05 08:50:02.686] [INFO] If you want to view detailed obd logs, please run: obd display-trace aa2dfcb0-f99e-11ef-83ae-005056826591
[2025-03-05 08:50:02.687] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 27
[2025-03-05 08:50:02.687] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 26
[2025-03-05 08:50:02.687] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 25
[2025-03-05 08:50:02.687] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 24
[2025-03-05 08:50:02.687] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 23
[2025-03-05 08:50:02.687] [DEBUG] - share lock /root/.obd/lock/mirror_and_repo release, count 5
根据您提供的日志信息,错误发生在尝试从 RPM 包中提取文件时未能找到 libmariadb.so
文件。这可能是由于包损坏、不兼容或路径配置问题导致的。以下是基于文档库中的信息和您的具体情况给出的解决方案:
-
确认安装包完整性
确保下载的 OceanBase 安装包(RPM)是完整的且未损坏。您可以重新下载该 RPM 包以排除文件损坏的可能性。 -
检查依赖项
根据文档片段中的信息,OceanBase 数据库自带libmariadb.so.3
。请确保在安装过程中正确处理了所有依赖关系。如果使用的是自定义构建或特定版本,请确保这些版本之间的兼容性。 -
环境变量配置
如果libmariadb.so
存在于其他路径下但未被识别,可以尝试设置LD_LIBRARY_PATH
环境变量指向正确的库路径。例如:export LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH
其中
/path/to/lib
是包含libmariadb.so
的实际目录。 -
验证容器内环境
由于您是在龙蜥 8 容器中运行 OceanBase,建议检查容器内的环境是否与主机环境一致,特别是关于库文件的位置和版本。可以通过以下命令进入容器并手动查找libmariadb.so
:docker exec -it <container_id> /bin/bash find / -name libmariadb.so*
-
参考官方文档
您也可以参考 OceanBase 软件下载中心 页面获取最新的安装指南和支持信息,确保遵循官方推荐的最佳实践进行部署。 -
查看详细日志
使用obd display-trace
命令查看更详细的错误追踪信息,以便进一步分析问题所在:obd display-trace aa2dfcb0-f99e-11ef-83ae-005056826591
-
联系支持团队
如果以上步骤仍无法解决问题,建议联系 OceanBase 技术支持团队获取专业帮助,并提供详细的日志记录以便他们更好地理解问题背景。
希望上述建议能帮助您解决遇到的问题。如果有更多疑问或需要进一步的帮助,请随时告知。
具体信息可参考以下文档:
执行obd mirror list local看一下镜像文件是否有
oceanbase-ce-libs-4.3.5.0-100000202024123117.el8.x86_64.rpm
学习冲分666
谢谢,目前已解决。发现是 yum 安装的 obd 工具版本太低了,使用 oceanbase-all-in-one 里面的 obd 安装后解决了
非常高兴听到您已经解决了问题!使用 oceanbase-all-in-one
中的 obd 工具确实是一个很好的解决方案,因为它包含了经过验证的兼容版本,能够避免由于工具版本不匹配引起的问题。
为了确保未来不会遇到类似的问题,您可以考虑以下几点:
-
保持工具版本最新
定期检查并更新您的 obd 工具到最新版本。可以通过以下命令安装或更新到最新版本:# 对于可以连接网络的机器 sudo yum install -y ob-deploy source /etc/profile.d/obd.sh
-
使用 all-in-one 安装包
如果您需要一个集成且稳定的环境,推荐使用oceanbase-all-in-one
安装包。它不仅包含 obd 工具,还预配置了其他必要的组件和依赖项,减少了手动配置的工作量和潜在的兼容性问题。 -
参考官方文档
在进行任何部署或升级操作前,建议先阅读 OceanBase 官方文档 和 快速入门指南,以确保遵循最佳实践。 -
加入社区和支持渠道
如果在使用过程中有任何疑问或遇到问题,欢迎随时访问 OceanBase 问答区 或加入官方社区获取帮助和支持。
如果您有更多关于 OceanBase 的问题或需要进一步的帮助,请随时联系我。祝您使用愉快!
参考资料:
检索到的文档如下:
(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)
谢谢