浪潮power架构服务器部署时对ce-libs的check失败

【 使用环境 】测试环境
【 OB or 其他组件 】OBD, oceanbase-ce
【 使用版本 】ob-deploy-2.9.0-1.el8.ppc64le.rpm ;
oceanbase-ce-4.2.1.7-107000162024060611.el8.ppc64le.rpm;
oceanbase-ce-libs-4.2.1.7-107000162024060611.el8.ppc64le.rpm;
oceanbase-ce-utils-4.2.1.7-107000162024060611.el8.ppc64le.rpm
【问题描述】我的机器是ppc64架构的,无法连接外网。按照部署文档,我将依赖所需的安装包都准备好了,最后执行 obd cluster deploy 进行部署时,有ERROR:Failed to install lib package for cluster servers。
【复现路径】问题出现前后相关操作

【附件及日志】
obd-log.zip (8.0 KB)
配置文件.zip (1.2 KB)

2 个赞

根据您提供的信息,您在浪潮 Power 架构服务器上部署 OceanBase 社区版时遇到了 Failed to install lib package for cluster servers 的错误。这个问题通常发生在依赖库检查失败时,尤其是在没有网络连接的情况下。以下是您可以尝试的一些解决方案:

1. 确认依赖库已正确安装

确保所有必要的依赖库已经正确安装。您可以手动检查并安装这些依赖库。根据您提供的安装包列表,您已经下载了 oceanbase-ce-libs,但可能还需要其他依赖库。

2. 检查配置文件

确保您的配置文件 mini-local-example.yaml 中没有错误。特别是检查以下部分:

  • servers 部分是否正确配置了服务器信息。
  • oceanbase-ce 组件下的 package 配置是否正确指向了您下载的安装包。

3. 手动安装依赖库

如果您已经下载了所有必要的依赖库,可以尝试手动安装这些库。例如:

rpm -ivh oceanbase-ce-libs-4.2.1.7-107000162024060611.el8.ppc64le.rpm

4. 检查日志

查看 obd 的日志文件,以获取更多详细的错误信息。您已经提供了日志文件,可以使用 obdiag 工具进一步分析这些日志。例如:

obdiag display-trace 5b17e8fc-bb50-11ef-8a17-50af732aadfF

5. 重新部署

如果上述步骤都没有解决问题,您可以尝试重新部署集群。首先删除现有的部署,然后重新部署:

obd cluster destroy obdi
obd cluster deploy obdi -c /opt/mini-local-example.yaml

6. 检查网络配置

虽然您提到机器无法连接外网,但确保内部网络配置正确,特别是 DNS 和主机名解析。

7. 联系技术支持

如果以上步骤都无法解决问题,建议联系 OceanBase 的技术支持团队,他们可以提供更专业的帮助。

希望这些步骤能帮助您解决问题。如果有任何进一步的问题或需要更多帮助,请随时告诉我。

更多信息请查看:

  1. 错误码
  2. OceanBase 安装部署工具 V2.8.0
  3. 通过 ODC 连接 OceanBase 数据库
  4. ob_error
  5. 4000 ~ 4499
  6. 0001 ~ 3999
  7. 8000 ~ 8999
  8. 4500 ~ 4999
2 个赞

操作系统版本,使用的是ob-all-in-one安装包么

操作系统是openeuler 24.03LTS
服务器cpu架构是power
安装方式不是ob-all-in-one,而是通过rpm包

1 个赞

感谢您提供的详细信息。根据您的描述,您正在使用 OpenEuler 24.03 LTS 操作系统,服务器 CPU 架构是 Power,安装方式是通过 RPM 包。您遇到的问题是 Failed to install lib package for cluster servers

问题分析

  1. 依赖库问题Failed to install lib package for cluster servers 错误通常表明某些依赖库未能正确安装。
  2. 架构兼容性:Power 架构可能需要特定的依赖库版本。
  3. 配置文件问题:配置文件中的某些设置可能导致依赖库检查失败。

解决步骤

1. 确认依赖库已正确安装

首先,确保所有必要的依赖库已经正确安装。您可以手动检查并安装这些依赖库。根据您提供的安装包列表,您已经下载了 oceanbase-ce-libs,但可能还需要其他依赖库。

rpm -q oceanbase-ce-libs

如果未安装,可以手动安装:

rpm -ivh oceanbase-ce-libs-4.2.1.7-107000162024060611.el8.ppc64le.rpm

2. 检查配置文件

确保您的配置文件 mini-local-example.yaml 中没有错误。特别是检查以下部分:

  • servers 部分是否正确配置了服务器信息。
  • oceanbase-ce 组件下的 package 配置是否正确指向了您下载的安装包。

示例配置文件:

name: obdi
obbhome: /home/admin/.oceanbase
cluster:
  servers:
    - name: server1
      ip: 127.0.0.1
      ssh_port: 22
      user: admin
      password: your_password
  oceanbase-ce:
    package: /path/to/oceanbase-ce-4.2.1.7-107000162024060611.el8.ppc64le.rpm
    home_path: /home/admin/obdi
    data_dir: /home/admin/obdi/data
    redo_dir: /home/admin/obdi/redo
    log_dir: /home/admin/obdi/log
    system_memory: 2G
    zone: zone1
    server_port: 2881
    rpc_port: 2882
    sql_port: 2883
    cluster_name: obdi
    cluster_id: 1
    zone_id: 1
    tenant_name: sys
    tenant_id: 1
    resource_pool_name: sys_pool
    unit_name: sys_unit
    unit_config:
      max_cpu: 2
      min_cpu: 1
      memory_size: 2G
      log_disk_size: 10G

3. 检查日志

查看 obd 的日志文件,以获取更多详细的错误信息。您已经提供了日志文件,可以使用 obdiag 工具进一步分析这些日志。例如:

obdiag display-trace 5b17e8fc-bb50-11ef-8a17-50af732aadfF

4. 重新部署

如果上述步骤都没有解决问题,您可以尝试重新部署集群。首先删除现有的部署,然后重新部署:

obd cluster destroy obdi
obd cluster deploy obdi -c /opt/mini-local-example.yaml

5. 检查网络配置

虽然您提到机器无法连接外网,但确保内部网络配置正确,特别是 DNS 和主机名解析。

6. 联系技术支持

如果以上步骤都无法解决问题,建议联系 OceanBase 的技术支持团队,他们可以提供更专业的帮助。

参考文档

  1. OceanBase 安装部署工具 V2.9.0
  2. 通过 RPM 包安装 OceanBase
  3. OceanBase 错误码

希望这些步骤能帮助您解决问题。如果有任何进一步的问题或需要更多帮助,请随时告诉我。

详情请参考:

  1. 使用命令行部署 OceanBase 数据库生产环境
  2. 通过 obd 白屏部署 OceanBase 集群
  3. OceanBase 术语
  4. 在 Kubernetes 环境中部署 OceanBase 集群
  5. 使用 systemd 部署 OceanBase 数据库
  6. 部署 FAQ
  7. (可选)查看资源
  8. OceanBase 数据库社区版部署概述

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

1 个赞

缺包问题,下载该包参考小助手的
rpm -ivh oceanbase-ce-libs-4.2.1.7-107000162024060611.el8.ppc64le.rpm

感觉不是缺包的问题,个人感觉是存在某些校验,导致的失败

报错信息如下:

下图是/root/.obd 的目录信息

1 个赞

欧拉2403系统支持安装ob,感觉还是缺包问题,推荐下载ob-all-in-one包,里面有安装ob所有的所需包

2 个赞

请问没有ppc64leob-all-in-one 包呢?
我们的服务器的cpu 是 power 架构。因为在Oceanbase 官网没找到ob-all-in-oneppc64le 安装包,但是阿里云镜像站提供了 Oceanbase ppc64le 的 rpm 包,所以我前面才采用 rpm 的方式进行安装的。

image
这边查看发布记录,421bp7就支持ppc64le架构了应该不需要特定安装包。les和noles包区别是在于CPU架构是否为ARM,ARM的使用noles

那我下载V4.2.1_BP10 x86的 all in one 的包, 再根据手册流程安装部署就可以了吗?
对于我的power架构的服务器,还要额外做什么工作?

1 个赞

根据obd的文档部署即可,先部署obd然后安装ob,推荐使用obd web白屏化安装
https://www.oceanbase.com/docs/obd-cn

下载了all-in-one 的安装包,执行 ./install.sh 安装报错

软件包 ob-deploy-2.10.1-1.el8.x86_64 是针对 different 构架的

执行联网下载命令,无法正常进行

oceanbase-all-in-one: unsupported CPU type: ppc64le

https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000640297

使用systemd方法离线安装ob试试。obd不支持问题我去咨询一下

1 个赞


执行下这条命令看看具体的问题是什么。

使用systemd方法安装成功了。
使用这种方法安装时,提示缺少了两个依赖包:
一个是 jq ,一个是libonig.so.5() ,如下两图所示

安装了这两个依赖后,可以正常部署了。
之前使用OBD ,采用RPM 的方式进行部署,也正常了。之前RPM 的方式失败,并不会提示缺少哪些依赖,所以无法解决。现在使用systemd的方式在安装过程中,会提示缺少依赖,把依赖安装好后,后续便正常了。

1 个赞

后续发现是缺少了依赖了,但是这里报错并不会提示缺少哪些依赖。
对于power架构的openeuler24.03系统,缺少的依赖, 一个是 jq ,一个是libonig.so.5()

这个应该是RPM包的require,observer binary的执行应该不需要jq.

你安装jq后成功了吗?

安装jq后成功了

1 个赞

:+1: :+1: :+1: