麒麟 V10 x86 操作系统上面运行龙蜥 8 容器安装 oceanbase 报错

【 使用环境 】测试环境
【 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

@论坛小助手

1 个赞

根据您提供的日志信息,错误发生在尝试从 RPM 包中提取文件时未能找到 libmariadb.so 文件。这可能是由于包损坏、不兼容或路径配置问题导致的。以下是基于文档库中的信息和您的具体情况给出的解决方案:

  1. 确认安装包完整性
    确保下载的 OceanBase 安装包(RPM)是完整的且未损坏。您可以重新下载该 RPM 包以排除文件损坏的可能性。

  2. 检查依赖项
    根据文档片段中的信息,OceanBase 数据库自带 libmariadb.so.3。请确保在安装过程中正确处理了所有依赖关系。如果使用的是自定义构建或特定版本,请确保这些版本之间的兼容性。

  3. 环境变量配置
    如果 libmariadb.so 存在于其他路径下但未被识别,可以尝试设置 LD_LIBRARY_PATH 环境变量指向正确的库路径。例如:

    export LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH
    

    其中 /path/to/lib 是包含 libmariadb.so 的实际目录。

  4. 验证容器内环境
    由于您是在龙蜥 8 容器中运行 OceanBase,建议检查容器内的环境是否与主机环境一致,特别是关于库文件的位置和版本。可以通过以下命令进入容器并手动查找 libmariadb.so

    docker exec -it <container_id> /bin/bash
    find / -name libmariadb.so*
    
  5. 参考官方文档
    您也可以参考 OceanBase 软件下载中心 页面获取最新的安装指南和支持信息,确保遵循官方推荐的最佳实践进行部署。

  6. 查看详细日志
    使用 obd display-trace 命令查看更详细的错误追踪信息,以便进一步分析问题所在:

    obd display-trace aa2dfcb0-f99e-11ef-83ae-005056826591
    
  7. 联系支持团队
    如果以上步骤仍无法解决问题,建议联系 OceanBase 技术支持团队获取专业帮助,并提供详细的日志记录以便他们更好地理解问题背景。

希望上述建议能帮助您解决遇到的问题。如果有更多疑问或需要进一步的帮助,请随时告知。

具体信息可参考以下文档:

  1. 4000 ~ 4499
  2. ob_admin 简介
  3. 安装 oblogminer
  4. 5000 ~ 5999
  5. 部署 OceanBase 数据库容器环境
  6. 错误码
  7. ob_error
  8. 9000 ~ 9499
  9. 安装并配置 obd
  10. 集群诊断
2 个赞

执行obd mirror list local看一下镜像文件是否有
oceanbase-ce-libs-4.3.5.0-100000202024123117.el8.x86_64.rpm

学习冲分666

谢谢,目前已解决。发现是 yum 安装的 obd 工具版本太低了,使用 oceanbase-all-in-one 里面的 obd 安装后解决了

1 个赞

非常高兴听到您已经解决了问题!使用 oceanbase-all-in-one 中的 obd 工具确实是一个很好的解决方案,因为它包含了经过验证的兼容版本,能够避免由于工具版本不匹配引起的问题。

为了确保未来不会遇到类似的问题,您可以考虑以下几点:

  1. 保持工具版本最新
    定期检查并更新您的 obd 工具到最新版本。可以通过以下命令安装或更新到最新版本:

    # 对于可以连接网络的机器
    sudo yum install -y ob-deploy
    source /etc/profile.d/obd.sh
    
  2. 使用 all-in-one 安装包
    如果您需要一个集成且稳定的环境,推荐使用 oceanbase-all-in-one 安装包。它不仅包含 obd 工具,还预配置了其他必要的组件和依赖项,减少了手动配置的工作量和潜在的兼容性问题。

  3. 参考官方文档
    在进行任何部署或升级操作前,建议先阅读 OceanBase 官方文档快速入门指南,以确保遵循最佳实践。

  4. 加入社区和支持渠道
    如果在使用过程中有任何疑问或遇到问题,欢迎随时访问 OceanBase 问答区 或加入官方社区获取帮助和支持。

如果您有更多关于 OceanBase 的问题或需要进一步的帮助,请随时联系我。祝您使用愉快!


参考资料:

检索到的文档如下:

  1. 错误码
  2. 单机部署 OceanBase 数据库
  3. ob_error
  4. 安装并配置 obd
  5. 常见问题汇总

(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)

谢谢