集群无法启动

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】生产环境
【 使用版本 】
【问题描述】使用 obd cluster start xx 一直init无法启动但是我在top进程中 看到odbserve已经启动
【复现路径】
image

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

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

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

根据您提供的信息,集群在使用 obd cluster start 命令时卡在 init 状态,但在 top 命令中观察到 odbserve 进程已经启动。这种现象可能是由于某些组件未能正确初始化或集群状态不一致导致的。为了更好地定位问题,您可以尝试以下几个步骤:

  1. 检查集群状态:使用 obd cluster display <deploy name> 命令来查看集群的状态,确认集群中各个组件的状态是否正常。 [4]

  2. 严格的启动检查:尝试使用带有 --strict-check 参数的 obd cluster start 命令,这可以帮助您发现可能存在的问题。 [1]

  3. 检查日志文件:查看集群的日志文件,特别是那些未能正确初始化的组件的日志,可能会有更多的错误信息。日志通常位于每个组件的工作目录下的 log 文件夹中。

  4. 集群的资源限制:确认机器上的资源是否足够,比如内存。如果内存不足,可以尝试释放缓存或调整配置文件中的 memory_limitsystem_memory 设置。 [3]

  5. 使用敏捷诊断工具:根据您的描述,推荐使用 OceanBase 敏捷诊断工具 obdiag 收集诊断信息,以便更深入地分析问题。如果 obdiag 工具不可用,请确保环境中至少有一个通过 obd 部署的 OceanBase 或 ODP 集群。 [3]

  6. 集群配置的一致性:如果涉及到多台机器,请确保所有机器上的配置是一致的,特别是在内存和其他资源限制方面。

  7. 网络问题:确认 obd 与集群中的机器之间的网络连接是正常的。 [3]

  8. 组件服务状态:确认所有组件的服务状态,特别是那些依赖于其他组件才能正常工作的服务。如果存在服务异常,尝试重新启动这些组件。 [3]

通过上述步骤,希望能帮助您定位并解决问题。如果问题依然存在,建议联系 OceanBase 的技术支持团队获取进一步的帮助。

详情请参考:

  1. 集群命令组
  2. 扩容与组件变更
  3. 错误码
  4. 使用命令行部署 OceanBase 数据库生产环境
1 个赞

检查集群状态 :使用 obd cluster display <deploy name>
yaml文件发出来一份,启动前后的日志也麻烦发一份
根据yaml里面设置的内存及磁盘参数查询下是否存在不足情况

1 个赞

问题解决了么