单机部署,启动cluster时,卡在Connect to observer

【 使用环境 】 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】启动obd时,一直显示connect to observer
【复现路径】

【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

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

【备注】@论坛小助手

2 个赞

根据您提供的信息,启动 obd cluster start 时卡在了 Connect to observer 阶段。以下是可能的原因及解决方法:


1. 检查 Observer 是否正常启动

虽然日志显示 Start observer okobserver program health check ok,但仍然需要确认 Observer 是否正常运行。

  • 操作步骤

    1. 登录到部署 OceanBase 的服务器。
    2. 使用以下命令检查 Observer 进程是否正常运行:
      ps -ef | grep observer
      
      如果没有找到 Observer 进程,说明 Observer 启动失败。
    3. 如果 Observer 进程存在,进一步检查监听端口是否打开:
      netstat -anp | grep <observer_port>
      
      默认情况下,OceanBase 社区版的监听端口为 2881
  • 解决方法
    如果 Observer 未正常启动,可以尝试重新启动集群或查看 Observer 的启动日志(通常位于 ~/.obd/log/ 目录下)。


2. 网络连接问题

如果 Observer 已正常启动,但 obd 无法连接到 Observer,可能是网络问题导致的。

  • 操作步骤

    1. 检查本地主机与 Observer 所在服务器之间的网络连通性:
      ping <observer_host_ip>
      
    2. 确认 Observer 的监听地址是否正确。默认情况下,Observer 监听的是绑定的 IP 地址,而不是 0.0.0.0。可以通过以下命令检查配置:
      obd cluster display <cluster_name>
      
      查看 server 节点的 ip 配置是否正确。
  • 解决方法
    如果发现网络不通或配置错误,可以修改部署配置文件中的 ip 参数,确保其与实际服务器 IP 一致。修改后重新部署集群:

    obd cluster edit-config <cluster_name>
    

3. 配置文件问题

某些配置项可能导致 Observer 启动后无法被正确连接。

  • 操作步骤

    1. 检查部署配置文件中是否有不正确的参数。例如,rs_listzone 配置是否正确。
    2. 使用以下命令查看当前集群的配置:
      obd cluster display <cluster_name>
      
  • 解决方法
    如果发现配置错误,可以使用以下命令编辑配置文件并重新启动集群:

    obd cluster edit-config <cluster_name>
    obd cluster redeploy <cluster_name>
    

4. 日志分析

如果上述方法均未解决问题,可以进一步分析日志以定位具体原因。

  • 操作步骤

    1. 使用以下命令查看详细的 obd 日志:
      obd display-trace <trace_id>
      
      其中 <trace_id> 是日志中显示的 Trace ID(如 666b96e6-3309-11f0-83c2-00163e0C1b25)。
    2. 检查 Observer 的启动日志,路径通常为:
      ~/.obd/log/<cluster_name>/<observer_ip>/observer.log
      
  • 解决方法
    根据日志中的错误信息进行排查。常见的错误包括:

    • 端口冲突:检查是否有其他服务占用了 2881 端口。
    • 配置冲突:检查 rs_listzone 配置是否与其他节点冲突。

5. 单机多实例场景

如果您是在单机上部署多个 Observer 实例,请注意以下事项:

  • OCP 不支持接管单机多实例的场景。如果需要使用 OCP 管控,请手动停止多余的 Observer 进程,确保每台机器只有一个 Observer 进程运行。(参考文档:OCP 接管单机多实例

总结

根据您的描述和日志内容,建议按照以下顺序排查:

  1. 确认 Observer 是否正常启动。
  2. 检查网络连通性。
  3. 审核配置文件是否存在错误。
  4. 分析日志以定位具体问题。

如果以上方法仍无法解决问题,建议使用 OceanBase 的敏捷诊断工具 obdiag 收集更多信息,并联系 OceanBase 技术支持团队获取进一步帮助。

更多信息请查看:

  1. 使用 OCP 接管 obd 部署的集群
  2. 使用 obd 进行运维
  3. observer_id
  4. 设置 Server 级配置
  5. 扩容与组件变更
  6. 错误码
  7. 通过图形化界面变更组件
  8. 什么是 obd
1 个赞

麻烦提供一份obd日志和yaml文件 ~/.obd/cluster/xxxx/。~/.obd/log

2 个赞


方框这里操作了什么,是停止的操作吗?需要收集一些日志看看!

1 个赞

:+1:

1 个赞

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

1 个赞