obproxy\observer部署失败,卡在Remote oceanbase-ce-4.3.5.1-101000042025031818...... repository install

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】oceanbase
【 使用版本 】
【问题描述】obproxy\observer部署失败,卡在Remote oceanbase-ce-4.3.5.1-101000042025031818… repository install
【附件及日志】
日志显示为:


看远程的机器上也有

不知道为什么会卡住!!!有大佬吗
@论坛小助手

3 个赞

根据您提供的日志信息和问题描述,obproxy/observer 部署失败并卡在 Remote oceanbase-ce-4.3.5.1-101000042025031818... repository install 的阶段。以下是可能的原因及解决方法:


1. 检查远程仓库路径的完整性

从日志中可以看到以下关键信息:

cat: /home/dell/.obd/repository/oceanbase-ce/4.3.5.1/8826bc816ae660198f9ca5fd7e96d93c1ce4fc84/.data: AM PKA R

这表明 .data 文件可能损坏或缺失。请确认以下内容:

  • 确保 /home/dell/.obd/repository/oceanbase-ce/4.3.5.1/8826bc816ae660198f9ca5fd7e96d93c1ce4fc84/ 路径下的文件完整。
  • 如果 .data 文件确实损坏或缺失,请重新下载对应版本的 OceanBase 社区版安装包,并重新初始化仓库。

解决方法:

# 删除损坏的仓库目录
rm -rf /home/dell/.obd/repository/oceanbase-ce/4.3.5.1/8826bc816ae660198f9ca5fd7e96d93c1ce4fc84

# 使用 obd 工具重新初始化仓库
obd mirror create oceanbase-ce --version 4.3.5.1 --hash 8826bc816ae660198f9ca5fd7e96d93c1ce4fc84

2. 检查权限问题

日志中多次出现 exited code 6,这通常与权限问题相关。例如:

[2025-03-24 22:12:04.225] [bcb@86a8-08b9-11f0-bbéd-ec2a723ca81c] [DEBUG] —- exited code 6

请确保以下路径的权限正确:

  • /home/dell/.obd/repository/oceanbase-ce/4.3.5.1/8826bc816ae660198f9ca5fd7e96d93c1ce4fc84
  • /home/dell/ob_0324/oceanbase/

解决方法:

# 修改目录权限
chown -R dell:dell /home/dell/.obd/repository/oceanbase-ce/4.3.5.1/8826bc816ae660198f9ca5fd7e96d93c1ce4fc84
chown -R dell:dell /home/dell/ob_0324/oceanbase/

# 确保目标目录可写
chmod -R u+w /home/dell/ob_0324/oceanbase/

3. 检查网络连接

日志中提到 Remote oceanbase-ce-4.3.5.1-101000042025031818... repository install,这表明部署过程中需要从远程拉取资源。如果网络不稳定或防火墙限制可能导致卡住。

解决方法:

  • 确保目标机器能够正常访问 OceanBase 的镜像源(如阿里云镜像)。
  • 如果网络不稳定,可以尝试手动下载对应的安装包并指定本地路径:
    # 下载安装包到本地
    wget https://mirrors.aliyun.com/oceanbase/community/releases/4.3.5.1/oceanbase-ce-4.3.5.1.tar.gz
    
    # 使用 obd 指定本地路径
    obd deploy <cluster_name> -c <config.yaml> --local-repo-path /path/to/local/repo
    

4. 检查磁盘空间

日志中还可能存在磁盘空间不足的问题。例如:

errcode=-4290, file="ob_server_log_block_mgr.cpp", line_no=1127, info="::fallocate failed"

虽然该错误码未直接出现在您的日志中,但类似问题可能导致部署失败。

解决方法:

# 检查磁盘空间
df -h /home/dell/.obd/repository/
df -h /home/dell/ob_0324/oceanbase/

# 如果磁盘空间不足,请清理或扩展磁盘

5. 验证配置文件

最后,请检查您的 config.yaml 文件是否正确。特别是以下字段:

  • server: 是否指定了正确的 IP 和端口。
  • home_path: 是否指向了正确的路径。
  • data_dirredo_dir: 是否有足够的磁盘空间。

示例配置:

servers:
  - name: server1
    ip: 192.168.191.63
    ssh_user: dell
    ssh_password: your_password
    home_path: /home/dell/ob_0324/oceanbase
    data_dir: /home/dell/ob_0324/oceanbase/data
    redo_dir: /home/dell/ob_0324/oceanbase/redo

总结

根据上述分析,请按照以下步骤逐一排查:

  1. 检查远程仓库路径的完整性,必要时重新初始化。
  2. 确认目录权限是否正确。
  3. 检查网络连接是否稳定。
  4. 确保磁盘空间充足。
  5. 验证配置文件是否正确。

如果以上方法仍无法解决问题,请提供更多日志信息或联系 OceanBase 官方技术支持以获取进一步帮助。

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

  1. 4000 ~ 4499
  2. 使用 systemd 部署 OceanBase 数据库
  3. 5000 ~ 5999
  4. 4500 ~ 4999
2 个赞

你切换使用本地仓库试试。

这个跟仓库还有关系呢吗

切换本地仓库?是指的第一步切换为本地镜像吧? 我已经切换为本地镜像还是这样 之前的oceanbase没有这个问题,我下载了比较新的版本出现了这个问题 这是对应的日志文件
obd.zip (27.1 KB)

[ERROR] OBD-1007: (192.168.191.12) The value of the ulimit parameter “open files” must not be less than 20000 (Current value: 1024)
这里看你的前置工作主机limit参数都没修改。建议先把这里的报错解决掉

根据您提供的日志文件分析结果和问题描述,以下是对问题的进一步分析和解决建议:


1. 确认本地仓库切换是否成功

您提到已经切换为本地镜像,但仍然遇到问题。请确保以下内容:

  • 确认 obd 工具正在使用本地仓库路径。
  • 检查本地仓库路径下的文件是否完整。

验证方法:

# 查看当前使用的仓库路径
obd mirror list

# 如果未指定本地路径,请重新初始化仓库
obd mirror create oceanbase-ce --version 4.3.5.1 --hash 8826bc816ae660198f9ca5fd7e96d93c1ce4fc84 --local-repo-path /path/to/local/repo

2. 检查新版本的兼容性

您提到下载了较新的 OceanBase 社区版后出现此问题,可能是新版本引入了某些变化或依赖项。以下是可能的原因及解决方法:

(1) 依赖库版本不匹配

OceanBase 的不同版本可能对操作系统或依赖库有特定要求。请确认以下内容:

  • 当前操作系统版本是否支持该 OceanBase 版本。
  • 必要的依赖库(如 libaionumactl 等)是否已安装。

解决方法:

# 安装必要的依赖库
sudo apt-get update
sudo apt-get install -y libaio1 numactl

# 检查依赖库是否正确加载
ldd /path/to/observer | grep "not found"

(2) 配置文件格式变化

新版本可能对配置文件格式有更严格的要求。请确保您的 config.yaml 文件符合最新规范。

示例配置:

servers:
  - name: server1
    ip: 127.0.0.1
    ssh_user: root
    ssh_password: your_password
    home_path: /root/oceanbase
    data_dir: /root/oceanbase/data
    redo_dir: /root/oceanbase/redo

3. 分析日志中的关键信息

从日志分析结果来看,obdiag 并未发现明显的错误 (Status: PASS)。但您可以进一步查看详细日志以定位问题。

查看详细日志:

cat /root/ob-agent/obdiag_analyze_pack_20250325102559/result_details.txt

重点关注以下内容:

  • 是否存在与 .data 文件相关的错误。
  • 是否有权限或磁盘空间不足的提示。

4. 尝试回滚到旧版本

如果问题无法快速解决,可以尝试回滚到之前稳定的版本。例如:

# 删除当前仓库
rm -rf /path/to/current/repo

# 初始化旧版本仓库
obd mirror create oceanbase-ce --version <old_version> --hash <old_hash>

5. 联系官方支持

如果以上方法仍无法解决问题,建议将以下信息提供给 OceanBase 官方技术支持:

  • 当前使用的 OceanBase 版本号。
  • 完整的日志文件(包括 result_details.txtobd 日志)。
  • 操作系统的版本和依赖库信息。

总结

根据您的描述和日志分析结果,问题可能与以下因素相关:

  1. 本地仓库路径配置不正确或文件损坏。
  2. 新版本的依赖库或配置文件格式变化。
  3. 日志中未明确显示的潜在问题。

请按照上述步骤逐一排查,并在必要时提供更多详细日志信息以便进一步分析。

检索到的文档如下:

  1. 数据存储概述
  2. oceanbase.CDB_OB_TEMP_FILES
  3. 上传 RPM 包
  4. V$OB_SERVER_STORAGE

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

这个是我刚开始写错了机器的ip地址,后来我直接换了另外一台机器,所以这个错误已经修复好了

学习了


如上图日志到这里就结束了么,obd命令也结束了?
看日志没后续了

这是最新的日志,见附件,我已经已经在部署的时候点击本地镜像了,您刚开始说的那个机器的问题也被修改了 我换了台机器,然后显示部署失败了
obd 2.zip (36.9 KB)

obd 版本是多少,
执行obd mirror list
obd mirror list local


你安装选择的435.1版本
image
这里面没有435.1的安装包。
下载一下435的rpm包括 oceanbase-ce oceanbase-ce-lib oceanbase-ce-utils
使用obd mirror clone命令传进去