OBD安装OCP报错

【 使用环境 】测试环境
【 OB or 其他组件 】 OBD 、oceanbase-all-in-one4.3.5
【 使用版本 】oceanbase-all-in-one-4.3.5_20250115.el7.x86_64、统信UOS
【问题描述】obd安装OCP,选择已有集群,部署到最后一步,检查正常,执行安装出现:ocp-server-ce-py_script_cursor_check-4.2.1 RuntimeError: ‘metadb connect’,
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
[2025-03-19 11:11:25.213] [d61e2f76-046f-11f0-b5e1-0050569efd74] [DEBUG] - root@172.16.60.20 execute: cd /root/ocp
[2025-03-19 11:11:25.327] [d61e2f76-046f-11f0-b5e1-0050569efd74] [DEBUG] - exited code 0
[2025-03-19 11:11:25.328] [d61e2f76-046f-11f0-b5e1-0050569efd74] [DEBUG] - sub chown_dir ref count to 0
[2025-03-19 11:11:25.328] [d61e2f76-046f-11f0-b5e1-0050569efd74] [DEBUG] - export chown_dir
[2025-03-19 11:11:25.328] [d61e2f76-046f-11f0-b5e1-0050569efd74] [DEBUG] - plugin general-py_script_chown_dir-0.1 result: True
[2025-03-19 11:11:25.328] [d61e2f76-046f-11f0-b5e1-0050569efd74] [DEBUG] - Searching cursor_check plugin for components …
[2025-03-19 11:11:25.328] [d61e2f76-046f-11f0-b5e1-0050569efd74] [DEBUG] - Searching cursor_check plugin for ocp-server-ce-4.3.4-20250114101305.el7-14639bd559122ecd39aa5bbbfef6859dd8c39834
[2025-03-19 11:11:25.328] [d61e2f76-046f-11f0-b5e1-0050569efd74] [DEBUG] - Found for ocp-server-ce-py_script_cursor_check-4.2.1 for ocp-server-ce-4.3.4
[2025-03-19 11:11:25.329] [d61e2f76-046f-11f0-b5e1-0050569efd74] [DEBUG] - Call plugin ocp-server-ce-py_script_cursor_check-4.2.1 for ocp-server-ce-4.3.4-20250114101305.el7-14639bd559122ecd39aa5bbbfef6859dd8c39834
[2025-03-19 11:11:25.329] [d61e2f76-046f-11f0-b5e1-0050569efd74] [DEBUG] - import cursor_check
[2025-03-19 11:11:25.329] [d61e2f76-046f-11f0-b5e1-0050569efd74] [DEBUG] - add cursor_check ref count to 1
[2025-03-19 11:11:25.330] [d61e2f76-046f-11f0-b5e1-0050569efd74] [DEBUG] – connect 172.16.60.20 -P2883 -uroot@sys -p******
[2025-03-19 11:11:25.333] [d61e2f76-046f-11f0-b5e1-0050569efd74] [DEBUG] – check cursor failed
[2025-03-19 11:11:26.335] [d61e2f76-046f-11f0-b5e1-0050569efd74] [ERROR] ocp-server-ce-py_script_cursor_check-4.2.1 RuntimeError: ‘metadb connect’
[2025-03-19 11:11:26.335] [d61e2f76-046f-11f0-b5e1-0050569efd74] [ERROR] Traceback (most recent call last):
[2025-03-19 11:11:26.335] [d61e2f76-046f-11f0-b5e1-0050569efd74] [ERROR] File “core.py”, line 2090, in start_cluster
[2025-03-19 11:11:26.335] [d61e2f76-046f-11f0-b5e1-0050569efd74] [ERROR] File “core.py”, line 2140, in _start_cluster
[2025-03-19 11:11:26.335] [d61e2f76-046f-11f0-b5e1-0050569efd74] [ERROR] File “core.py”, line 228, in run_workflow
[2025-03-19 11:11:26.335] [d61e2f76-046f-11f0-b5e1-0050569efd74] [ERROR] File “core.py”, line 270, in run_plugin_template
[2025-03-19 11:11:26.335] [d61e2f76-046f-11f0-b5e1-0050569efd74] [ERROR] File “core.py”, line 315, in call_plugin
[2025-03-19 11:11:26.335] [d61e2f76-046f-11f0-b5e1-0050569efd74] [ERROR] File “_plugin.py”, line 347, in call
[2025-03-19 11:11:26.335] [d61e2f76-046f-11f0-b5e1-0050569efd74] [ERROR] File “_plugin.py”, line 304, in _new_func
[2025-03-19 11:11:26.335] [d61e2f76-046f-11f0-b5e1-0050569efd74] [ERROR] File “/root/.obd/plugins/ocp-server-ce/4.2.1/cursor_check.py”, line 73, in cursor_check
[2025-03-19 11:11:26.335] [d61e2f76-046f-11f0-b5e1-0050569efd74] [ERROR] error(‘metadb connect’, err.EC_OCP_SERVER_CONNECT_METADB, [err.SUG_OCP_SERVER_JDBC_URL_CONFIG_ERROR])
[2025-03-19 11:11:26.335] [d61e2f76-046f-11f0-b5e1-0050569efd74] [ERROR] File “/root/.obd/plugins/ocp-server-ce/4.2.1/start_check_pre.py”, line 89, in error
[2025-03-19 11:11:26.335] [d61e2f76-046f-11f0-b5e1-0050569efd74] [ERROR] check_fail(server, item, _error, suggests)
[2025-03-19 11:11:26.335] [d61e2f76-046f-11f0-b5e1-0050569efd74] [ERROR] File “/root/.obd/plugins/ocp-server-ce/4.2.1/start_check_pre.py”, line 58, in check_fail
[2025-03-19 11:11:26.335] [d61e2f76-046f-11f0-b5e1-0050569efd74] [ERROR] status = check_status[server][item]
[2025-03-19 11:11:26.336] [d61e2f76-046f-11f0-b5e1-0050569efd74] [ERROR] KeyError: ‘metadb connect’
[2025-03-19 11:11:26.336] [d61e2f76-046f-11f0-b5e1-0050569efd74] [ERROR]
[2025-03-19 11:11:26.336] [d61e2f76-046f-11f0-b5e1-0050569efd74] [DEBUG] - sub cursor_check ref count to 0
[2025-03-19 11:11:26.336] [d61e2f76-046f-11f0-b5e1-0050569efd74] [DEBUG] - export cursor_check
[2025-03-19 11:11:26.336] [d61e2f76-046f-11f0-b5e1-0050569efd74] [DEBUG] - plugin ocp-server-ce-py_script_cursor_check-4.2.1 result: False
[2025-03-19 11:11:26.338] [d61e2f76-046f-11f0-b5e1-0050569efd74] [INFO] See https://www.oceanbase.com/product/ob-deployer/error-codes .
[2025-03-19 11:11:26.338] [d61e2f76-046f-11f0-b5e1-0050569efd74] [INFO] Trace ID: d61e2f76-046f-11f0-b5e1-0050569efd74
[2025-03-19 11:11:26.338] [d61e2f76-046f-11f0-b5e1-0050569efd74] [INFO] If you want to view detailed obd logs, please run: obd display-trace d61e2f76-046f-11f0-b5e1-0050569efd74
[2025-03-19 11:11:26.339] [d61e2f76-046f-11f0-b5e1-0050569efd74] [DEBUG] - unlock /root/.obd/lock/global
[2025-03-19 11:11:26.339] [d61e2f76-046f-11f0-b5e1-0050569efd74] [DEBUG] - unlock /root/.obd/lock/deploy_myocp
[2025-03-19 11:11:26.339] [d61e2f76-046f-11f0-b5e1-0050569efd74] [DEBUG] - unlock /root/.obd/lock/mirror_and_repo

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

1 个赞

根据您提供的信息,OBD 安装 OCP 时出现 RuntimeError: 'metadb connect' 的错误。以下是可能的原因及解决方法:

可能原因及解决方法

1. MetaDB 配置错误

  • 错误日志中提到 check cursor failedmetadb connect,这表明 OCP 在尝试连接 MetaDB 时失败。
  • 解决方法
    • 检查 MetaDB 的配置是否正确。可以通过以下命令编辑配置文件:
      obd cluster edit-config <deploy_name>
      
      确保 MetaDB 的 JDBC URL 配置正确(如主机名、端口、用户名和密码)。如果配置有误,请修改并保存后执行命令行中输出的命令使修改生效。
    • 参考文档:部署配置

2. MetaDB 版本不兼容

  • 如果 MetaDB 的版本低于 OCP 所需的最低版本(例如 2.2.50),可能会导致连接失败。
  • 解决方法

3. 组件版本不匹配

  • 部署 OCP 时需要使用对应版本的组件。如果组件版本不匹配,可能会导致安装失败。
  • 解决方法

4. 端口冲突

  • 如果 MetaDB 或 OCP 的端口配置与其他服务冲突,可能会导致连接失败。
  • 解决方法
    • 检查端口配置是否有冲突。可以通过以下命令编辑配置文件:
      obd cluster edit-config <deploy_name>
      
      查看并修改端口配置,保存后执行命令行中输出的命令使修改生效。
    • 参考文档:错误原因:配置文件中存在端口冲突

5. 资源不足

  • 如果 MetaDB 的资源(如内存、CPU、磁盘空间)不足,可能会导致连接失败。
  • 解决方法
    • 增大 MetaDB 的资源配置。可以通过以下命令编辑配置文件:
      obd cluster edit-config <deploy_name>
      
      调大 oceanbase-ce 组件下 memory_limitcpu_countlog_disk_size 配置项的值,保存后执行命令行中输出的命令使修改生效。
    • 参考文档:错误原因:metadb 资源不足

其他建议

  • 如果以上方法均无法解决问题,建议查看详细的 OBD 日志以获取更多信息。可以通过以下命令查看详细日志:

    obd display-trace <trace_id>
    

    其中 <trace_id> 是错误日志中提供的 Trace ID。

  • 如果问题仍未解决,建议联系 OceanBase 的人工答疑团队以获取进一步支持。

检索到的文档如下:

  1. 使用图形化界面升级 OCP
  2. 错误码
  3. 常见问题汇总
  4. 通过图形化界面部署 OCP
1 个赞

麻烦提供一份yaml文件(~/.obd/cluster/xxxx/),obd详细日志,ocp-server(~/ocp/log/)日志最好弄成附件形式。

1 个赞

我把之前安装的myocp使用命令删除掉,重新通过obd安装,还是不成功,报另一个错误:
Cluster status check ok
Would you like to clean meta data [y/n]: ocp-server-ce work dir cleaning ok
myocp destroyed
Generate ocp server configuration ok
±----------------------------------------------------------------------------------------+
| Packages |
±--------------±--------±-------------------±-----------------------------------------+
| Repository | Version | Release | Md5 |
±--------------±--------±-------------------±-----------------------------------------+
| ocp-server-ce | 4.3.4 | 20250114101305.el7 | 14639bd559122ecd39aa5bbbfef6859dd8c39834 |
±--------------±--------±-------------------±-----------------------------------------+
Repository integrity check ok
Load param plugin ok
Open ssh connection ok
Generate ocp server configuration ok
Initializes ocp-server-ce work home ok
Parameter check ok
Remote ocp-server-ce-4.3.4-20250114101305.el7-14639bd559122ecd39aa5bbbfef6859dd8c39834 repository install ok
Remote ocp-server-ce-4.3.4-20250114101305.el7-14639bd559122ecd39aa5bbbfef6859dd8c39834 repository lib check !!
Try to get lib-repository
[ERROR] Failed to install lib package for local

以下两个附件我改成txt上传,附带log日志
config.txt (1.0 KB)
innser_config.txt (75 字节)
obd.txt (3.8 MB)

1 个赞

根据您提供的日志和配置文件信息,OBD 安装 OCP 时出现 Failed to install lib package for local 的错误。以下是可能的原因及解决方法:

可能原因及解决方法

1. 本地库包缺失

  • 错误日志中提到 Remote ocp-server-ce-4.3.4-20250114101305.el7-14639bd559122ecd39aa5bbbfef6859dd8c39834 repository lib check !!Failed to install lib package for local,这表明在安装过程中未能找到或下载所需的库包。
  • 解决方法
    • 确保本地或远程仓库中有对应的库包。可以通过以下命令检查并更新仓库:
      obd mirror update
      
      如果问题仍未解决,可以手动下载所需的库包并放置到正确的目录下。具体路径可以在配置文件中找到(如 /root/.obd/mirror/remote/)。

2. 网络连接问题

  • 如果无法从远程仓库下载库包,可能是由于网络连接问题导致的。
  • 解决方法
    • 检查网络连接是否正常,并确保能够访问远程仓库地址。
    • 如果使用的是代理服务器,请配置好代理设置。可以通过以下命令编辑配置文件:
      obd config set proxy=http://<proxy_address>:<proxy_port>
      

3. 配置文件错误

  • 配置文件中的某些参数可能不正确,导致安装失败。
  • 解决方法
    • 检查配置文件中的参数是否正确。例如,home_pathsoft_dirlog_dir 等路径是否存在并具有写权限。
    • 确保 jdbc_urljdbc_usernamejdbc_password 配置正确,能够成功连接到 MetaDB。
    • 参考配置文件内容如下:
      user:
        username: root
        password: 123456
        port: 22
      ocp-server-ce:
        version: 4.3.4
        package_hash: 14639bd559122ecd39aa5bbbfef6859dd8c39834
        release: 20250114101305.el7
        servers:
        - 172.16.60.20
        - 192.168.10.99
        - 192.168.10.132
        global:
          home_path: /home/myocp/ocp
          soft_dir: /home/myocp/software
          log_dir: /home/myocp/logs
          ocp_site_url: http://172.16.60.20:5678
          port: 5678
          admin_password: 123AAbb[]
          memory_size: 4G
          manage_info:
            machine: 10
          launch_user: root
          jdbc_url: jdbc:oceanbase://172.16.60.20:2883/meta_database
          jdbc_username: root@sys
          jdbc_password: 123456
          ocp_meta_tenant:
            tenant_name: ocp_meta
            max_cpu: 2.0
            memory_size: 4G
          ocp_meta_username: root
          ocp_meta_password: 123456
          ocp_meta_db: meta_database
          ocp_monitor_tenant:
            tenant_name: ocp_monitor
            max_cpu: 2.0
            memory_size: 8G
          ocp_monitor_username: root
          ocp_monitor_password: 123456
          ocp_monitor_db: monitor_database
      

4. 依赖组件版本不匹配

  • 如果 OCP 的版本与依赖组件的版本不匹配,可能会导致安装失败。
  • 解决方法
    • 确保所有依赖组件的版本与 OCP 的版本兼容。可以通过以下命令检查并更新组件版本:
      obd cluster edit-config <deploy_name>
      
      修改报错对应组件的版本(version),保存后执行命令行中输出的命令使修改生效。

其他建议

  • 如果以上方法均无法解决问题,建议查看详细的 OBD 日志以获取更多信息。可以通过以下命令查看详细日志:

    obd display-trace <trace_id>
    

    其中 <trace_id> 是错误日志中提供的 Trace ID。

  • 如果问题仍未解决,建议联系 OceanBase 的人工答疑团队以获取进一步支持。

检索到的文档如下:

  1. oceanbase.DBA_OB_BACKUP_SET_FILES
  2. OceanBase 数据库社区版

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

2 个赞
  1. obd mirror list local 已经有对应的lib包

  2. meta链接的数据库是集群,可正常访问

2 个赞

ocp-server日志有生成么,查看先集群有java环境么

3台节点服务器加中控机都有java1.8的环境。

重新删掉原来安装的obtest集群,通过obd白屏部署ocp全新数据库的方式,还是报错,用的是oceanbase-all-in-one-4.3.5_20250115.el7.x86_64.tar.gz :
±--------------------------------------------------------------------------------------------+
| Packages |
±--------------±--------±-----------------------±-----------------------------------------+
| Repository | Version | Release | Md5 |
±--------------±--------±-----------------------±-----------------------------------------+
| oceanbase-ce | 4.2.1.8 | 108000022024072217.el7 | 499b676f2ede5a16e0c07b2b15991d1160d972e8 |
| obproxy-ce | 4.3.2.0 | 42.el7 | b7ae0af3860478f3caecaaec05bd67d0565e4021 |
| ocp-server-ce | 4.3.4 | 20250114101305.el7 | 14639bd559122ecd39aa5bbbfef6859dd8c39834 |
±--------------±--------±-----------------------±-----------------------------------------+
Repository integrity check ok
Load param plugin ok
Open ssh connection ok
Generate ocp server configuration ok
Initializes observer work home ok
Initializes obproxy work home ok
Initializes ocp-server-ce work home ok
Parameter check ok
Remote oceanbase-ce-4.2.1.8-108000022024072217.el7-499b676f2ede5a16e0c07b2b15991d1160d972e8 repository install ok
Remote oceanbase-ce-4.2.1.8-108000022024072217.el7-499b676f2ede5a16e0c07b2b15991d1160d972e8 repository lib check !!
Remote obproxy-ce-4.3.2.0-42.el7-b7ae0af3860478f3caecaaec05bd67d0565e4021 repository install ok
Remote obproxy-ce-4.3.2.0-42.el7-b7ae0af3860478f3caecaaec05bd67d0565e4021 repository lib check ok
Remote ocp-server-ce-4.3.4-20250114101305.el7-14639bd559122ecd39aa5bbbfef6859dd8c39834 repository install ok
Remote ocp-server-ce-4.3.4-20250114101305.el7-14639bd559122ecd39aa5bbbfef6859dd8c39834 repository lib check !!
Try to get lib-repository
[ERROR] Failed to install lib package for local

config.txt (2.4 KB)
inner_config.txt (180 字节)
obd.txt (1.3 MB)

[2025-03-19 15:06:54.079] [bb07781c-048f-11f0-b236-0050569efd74] [ERROR] Traceback (most recent call last):
[2025-03-19 15:06:54.079] [bb07781c-048f-11f0-b236-0050569efd74] [ERROR] File “concurrent/futures/thread.py”, line 57, in run
[2025-03-19 15:06:54.079] [bb07781c-048f-11f0-b236-0050569efd74] [ERROR] File “service/handler/ocp_handler.py”, line 799, in _do_install
[2025-03-19 15:06:54.079] [bb07781c-048f-11f0-b236-0050569efd74] [ERROR] File “service/handler/ocp_handler.py”, line 797, in _do_install
能帮忙分析出是什么问题吗?

执行下 obd mirror list
obd mirror list local

这边找一下obd的同学帮忙看下

再次重装,已经可以了,谢谢