OB安装单点,启动不了,报错2002,按照官网修改配置后依然启动不了

【 使用环境 】 测试环境
【 OB or 其他组件 】OB
【 使用版本 】4.3.5
【问题描述】


启动数据库报错如下:
[ERROR] OBD-2002: Failed to start 192.168.1.152 observer: bash: line 1: 3325 Illegal instruction /root/observer/bin/observer -r ‘192.168.1.152:2882:2881’ -p 2881 -P 2882 -z ‘zone1’ -n ‘obtest’ -c 1 -d ‘/root/observer/store’ -I ‘192.168.1.152’ -o __min_full_resource_pool_memory=2147483648,memory_limit=‘8G’,system_memory=‘3G’,datafile_size=‘2G’,datafile_next=‘2G’,datafile_maxsize=‘3G’,log_disk_size=‘3G’,cpu_count=5,enable_syslog_wf=False,max_syslog_file_count=4,large_query_threshold=‘600s’,enable_record_trace_log=False,enable_syslog_recycle=1

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

根据您提供的信息,OBD-2002 错误表明 Observer 服务启动失败。错误日志中显示了 Illegal instruction 的提示,这通常是由于硬件不兼容或编译选项与运行环境不匹配导致的。

以下是可能的原因及解决方法:

1. 检查硬件兼容性

  • OceanBase 数据库对 CPU 指令集有要求,尤其是 AVX 指令集的支持。如果您的服务器 CPU 不支持 AVX 指令集,可能会导致 Illegal instruction 错误。
  • 解决方式:确认您的 CPU 是否支持 AVX 指令集。可以通过以下命令检查:
    cat /proc/cpuinfo | grep avx
    
    如果没有输出,说明 CPU 不支持 AVX 指令集。在这种情况下,您可以尝试使用 OceanBase 提供的非 AVX 版本二进制文件(如果可用),或者更换支持 AVX 的硬件。

2. 检查编译选项与运行环境是否匹配

  • 如果您使用的是预编译版本,请确保该版本与您的操作系统和硬件架构兼容。
  • 解决方式
    • 确认您的操作系统版本和硬件架构是否与 OceanBase 4.3.5 的要求一致。
    • 如果您自行编译,请确保编译时的选项与运行环境匹配。

3. 检查配置参数

  • 错误日志中显示了一些配置参数,例如 __min_full_resource_pool_memory=2147483648memory_limit='8G'。虽然这些参数本身不会直接导致 Illegal instruction 错误,但不合理的配置可能导致其他问题。
  • 解决方式:请参考官方文档,确保所有配置参数合理且符合最佳实践。

4. 重新安装或升级

  • 如果以上方法均无效,建议重新安装 OceanBase 或升级到最新版本(如果有更新)。
  • 解决方式
    • 使用 OBD 工具重新部署:
      obd cluster destroy <cluster_name>
      obd cluster deploy <cluster_name> -c <config.yaml>
      

5. 联系技术支持

  • 如果问题仍未解决,建议联系 OceanBase 技术支持团队,提供详细的日志信息以便进一步排查。

总结

根据文档库中的信息,Illegal instruction 通常与硬件兼容性相关。请首先确认您的硬件是否支持 AVX 指令集,并确保使用的 OceanBase 版本与运行环境匹配。如果仍有问题,可以参考上述步骤进行排查或联系技术支持。

如果您需要更详细的指导,请提供更多日志信息或配置文件内容。

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

  1. 4000 ~ 4499
  2. 0001 ~ 3999
  3. 5000 ~ 5999
1 个赞