社区版单机部署,obd demo时出现error obshell bootstrap failed

【 使用环境 】测试环境
【 OB or 其他组件 】ob
【 使用版本 】社区版4.3.5-el7
【问题描述】执行obd demo,出现obshell bootsttrap failed: failed to get version from 127.0.0.1:2886 status code 503

【复现路径】执行obd demo后
【附件及日志】

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

1 个赞

根据您提供的信息,执行 obd demo 命令时出现了 obshell bootstrap failed: failed to get version from 127.0.0.1:2886 status code 503 的错误。以下是可能的原因分析及解决方法:

问题分析

  1. 错误原因

    • 根据日志内容和错误提示,obshell 在尝试连接到本地的 127.0.0.1:2886 端口时失败,返回了状态码 503(服务不可用)。
    • 这通常意味着 obshell 所依赖的服务未正确启动或端口未开放。
  2. 可能原因

    • OBServer 或 OBProxy 未正常启动obshell 需要与 OceanBase 数据库实例通信,如果数据库实例或代理服务未正常运行,则可能导致此问题。
    • 网络配置问题:本地端口 2886 可能被防火墙或其他网络策略阻止。
    • 版本兼容性问题:您使用的是社区版 4.3.5-el7,可能存在某些组件版本不匹配的问题。

解决方法

方法一:检查 OBServer 和 OBProxy 的运行状态

  1. 确认 OBServer 是否正常启动:

    obd cluster status <deploy_name>
    

    如果集群未启动,请尝试重新启动:

    obd cluster start <deploy_name>
    
  2. 检查 OBProxy 的运行状态:

    obd cluster display <deploy_name>
    

    确保 OBProxy 的监听端口为 2886,并且服务已启动。

方法二:验证端口是否可用

  1. 检查 127.0.0.1:2886 是否可访问:

    netstat -anp | grep 2886
    

    如果端口未监听,说明 OBProxy 未正确启动。

  2. 如果端口被防火墙阻止,请临时关闭防火墙进行测试:

    systemctl stop firewalld
    

方法三:检查版本兼容性

  1. 确保所有组件版本一致:

    obd version
    

    确认 obdOceanBaseobproxy-ce 的版本均为 4.3.5 或更高版本。

  2. 如果版本不一致,可以通过以下命令更新组件:

    obd mirror refresh
    obd cluster edit-config <deploy_name>
    

    修改配置文件中的组件版本号后保存,并重新部署:

    obd cluster deploy <deploy_name> -c <config_file>
    

方法四:重新初始化 obd 环境

如果上述方法无效,可以尝试清理并重新初始化 obd 环境:

  1. 删除现有部署:
    obd cluster destroy <deploy_name>
    
  2. 清理镜像缓存:
    obd mirror clean
    
  3. 重新执行 obd demo
    obd demo
    

其他建议

  • 如果问题仍未解决,可以查看详细的日志文件以获取更多信息:
    cat ~/.obd/log/obd.log
    
  • 如果确认是版本兼容性问题,建议参考 文档片段 3 中的要求,确保安装的 obdOCP 版本符合最低要求。

总结

根据文档库中的信息,obshell bootstrap failed 的问题通常是由于 OBServer 或 OBProxy 未正常启动、端口不可用或版本不匹配导致的。请按照上述步骤逐一排查并解决问题。如果仍有疑问,建议联系 OceanBase 的技术支持团队以获取进一步帮助。

更多信息请查看:

  1. OceanBase 安装部署工具 V1.6.0
  2. 错误码
  3. 使用 OCP 接管 obd 部署的集群
  4. OceanBase 安装部署工具 V2.8.0
  5. 5000 ~ 5999
  6. 如何升级 obproxy 到 obproxy-ce 3.2.3
1 个赞

可以先参考小助手提供的方法排查一下。

1 个赞

:clap: :clap: :clap: :clap:

已经解决了,只是简单使用,只要obd demo的时候添加-c oceanbase-ce,obproxy-ce;初始化的时候还是会报这个错,但是后面执行obd cluster start demo, 就可以正常启动数据库服务。

如果全量包跑的话就不行,start demo的时候grafana会报错

根据您的描述,您已经通过在 obd demo 命令中指定 -c oceanbase-ce,obproxy-ce 参数解决了 obshell bootstrap failed 的问题,并能够通过 obd cluster start demo 正常启动数据库服务。以下是针对您提到的其他问题的分析和解决建议:


1. 关于全量包运行时 Grafana 报错的问题

问题描述

当使用全量包(包含更多组件)运行时,在执行 obd cluster start demo 启动集群后,Grafana 报错:

[ERROR] 0BD-1006: Failed to connect to grafana

可能原因

  1. Grafana 未正确启动:可能是因为 Grafana 的配置文件或依赖服务未正确初始化。
  2. 网络连接问题:Grafana 的监听地址或端口配置不正确,导致无法访问。
  3. 版本兼容性问题:某些组件版本可能存在不兼容的情况。

解决方法

方法一:检查 Grafana 的运行状态

  1. 确认 Grafana 是否正常启动:

    obd cluster status demo
    

    查看输出中是否包含 Grafana 的状态信息。如果 Grafana 未启动,请尝试重新启动:

    obd cluster restart demo -c <config_file>
    
  2. 检查 Grafana 的日志文件:

    cat ~/.obd/log/grafana.log
    

    根据日志内容定位具体错误原因。

方法二:验证网络配置

  1. 检查 Grafana 的监听地址和端口:
    默认情况下,Grafana 监听地址为 127.0.0.1,端口为 3000。可以通过以下命令确认:

    netstat -anp | grep 3000
    

    如果未监听该端口,说明 Grafana 未正确启动。

  2. 如果需要更改监听地址或端口,可以编辑 Grafana 的配置文件:

    vi ~/.obd/config/demo/grafana.ini
    

    修改 http_addrhttp_port 参数后保存,并重新启动集群。

方法三:清理并重新初始化环境

如果上述方法无效,可以尝试清理并重新初始化环境:

  1. 删除现有部署:
    obd cluster destroy demo
    
  2. 清理镜像缓存:
    obd mirror clean
    
  3. 使用正确的配置重新部署:
    obd demo -c oceanbase-ce,obproxy-ce,grafana-ce
    

其他建议

  • 如果问题仍未解决,可以查看详细的日志文件以获取更多信息:

    obd display-trace <trace_id>
    

    替换 <trace_id> 为您实际的日志追踪 ID。

  • 如果确认是版本兼容性问题,建议参考 文档片段 3 中的要求,确保安装的 obdGrafana 版本符合最低要求。


总结

根据文档库中的信息,Failed to connect to grafana 的问题通常是由于 Grafana 未正确启动、网络配置错误或版本不匹配导致的。请按照上述步骤逐一排查并解决问题。如果仍有疑问,建议联系 OceanBase 的技术支持团队以获取进一步帮助。

如果您有更多问题或需要进一步的帮助,请随时告知!

检索到的文档如下:

  1. 阅读和管理 OceanBase 数据库 SQL 执行计划
  2. obshell 备份命令组
  3. 在 Quick BI 中连接 OceanBase 并获取数据

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

image
显示你内存不够

这个只是warn,是否不会影响服务启动

请问这个版本对资源的要求,最低是多少啊

ob需要内存最小为6G