coeanbase无法启动

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】最新版本
【问题描述】执行obd cluster start xxx 一直到Wait for observer init 卡住
【复现路径】

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

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

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

1 个赞

您的问题可能存在误解,实际上据我所知,当遇到 OceanBase 无法启动的情况时,通常是因为某些配置问题或系统资源限制导致的。您提到的现象“执行 obd cluster start xxx 一直到 Wait for observer init 卡住”,这表明集群启动过程中遇到了障碍。 [1]

为了更好地定位问题,您可以尝试以下几个步骤:

  1. 检查日志文件:查看 observer.log 文件,通常位于 /home/admin/oceanbase/log 目录下,寻找启动失败的具体原因。 [1]

  2. 资源限制:确认服务器是否有足够的资源(如 CPU、内存、磁盘空间)来支持 OceanBase 的运行。资源不足可能导致启动过程卡住。

  3. 配置问题:确认 config.ini 文件中的设置是否正确,特别是那些与系统资源相关的配置项,比如 memory_limit

  4. 网络问题:确保集群内的所有节点间网络通信正常,没有防火墙规则阻止必要的端口通信。

  5. 使用诊断工具:如您所述,可以使用 obdiag 工具来收集更详细的诊断信息,这对于分析问题非常有帮助。 [1]

如果以上方法都不能解决问题,建议您联系 OceanBase 的技术支持团队,或是在社区论坛中寻求帮助,提供更多详细信息以便他人能更准确地为您诊断问题。 [1]

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

  1. 少数派节点故障
1 个赞

需要提供下启动时的 observer.log 日志

1 个赞

抱歉,上传该文件时出错。请重试。

1 个赞

observer.log (30.6 MB)

1 个赞

由于您提到已经提供了 observer.log 文件但上传时出现了错误,这里有几个建议可以帮助您进一步排查问题:

  1. 日志分析:尽管无法直接查看您提供的日志文件,但通常 observer.log 会记录详细的启动信息和错误提示。您可以手动打开这个文件,查找启动阶段的错误信息。重点关注那些带有 [ERROR] 标签的日志条目,它们通常包含了启动失败的原因。 [2]

  2. 日志级别调整:如果默认的日志级别不够详细,可以临时增加日志输出的详细程度,以便捕捉更多的调试信息。这可以通过修改配置文件中的日志级别设置来实现。

  3. 资源检查:确保启动机器上有足够的资源(CPU、内存、磁盘空间等)。资源不足可能会导致启动过程中的某些步骤无法完成。 [7]

  4. 权限问题:确认 OceanBase 的安装目录及其子目录的权限设置是否正确。例如,如果启动 OceanBase 的用户与安装时使用的用户不同,可能会导致权限问题。 [7]

  5. 使用工具辅助:尝试使用 obdiag 工具来收集更详细的诊断信息,这有助于更深入地了解问题所在。 [1]

如果您能够提供具体的错误信息或者日志中的关键部分,那么将更有助于我们对问题进行精确的定位和解决。此外,考虑到文件大小较大(30.6MB),建议您通过其他渠道(如邮件或社区论坛)分享完整的日志文件,以便获得更专业的帮助。

参考资料:

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

  1. 使用 LOAD DATA 语句导入数据
  2. 日志
  3. ob_admin 简介
  4. 集群管理 FAQ
  5. max_syslog_file_count
  6. observer_id
  7. 使用 systemd 部署 OceanBase 数据库
  8. enable_syslog_recycle
  9. 设置日志恢复源
  10. 查看归档进度

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

1 个赞

clog满了,需要扩容下

[2024-09-26 16:00:20.861682] WDIAG [PALF] recycle_blocks_ (palf_env_impl.cpp:1145) [2817][T1_PalfGC][T1][Y0-0000000000000000-0-0] [lt=9][errcode=0] there is not any block can be recycled, need verify the baselsn of PalfHandleImpl whether has been advanced(ret=0, this={IPalfEnvImpl:{IPalfEnvImpl:"Dummy"}, self:"192.168.0.45:2882", log_dir:"/root/observer/store/clog/tenant_1", disk_options_wrapper:{disk_opts_for_stopping_writing:{log_disk_size(MB):2048, log_disk_utilization_threshold(%):80, log_disk_utilization_limit_threshold(%):95, log_disk_throttling_percentage(%):60, log_disk_throttling_maximum_duration(s):7200, log_writer_parallelism:3}, disk_opts_for_recycling_blocks:{log_disk_size(MB):2048, log_disk_utilization_threshold(%):80, log_disk_utilization_limit_threshold(%):95, log_disk_throttling_percentage(%):60, log_disk_throttling_maximum_duration(s):7200, log_writer_parallelism:3}, status:1, cur_unrecyclable_log_disk_size(MB):1881, sequence:1}, log_alloc_mgr_:{flying_log_task:0, flying_meta_task:0}})
1 个赞

能删除一些日志吗

1 个赞

不能,clog不能手动删除

1 个赞

磁盘还是50g,为什么满了

1 个赞

你这里log_disk_size配置的是2048M,可以修改下yaml文件中的这个配置,然后带参启动下

./bin/observer -o “log_disk_size=10G”

1 个赞


我这里配置14g

看下 observer.config.bin 里面 log_disk_size的数据

strings /home/admin/oceanbase/etc/observer.config.bin|grep log_disk_size

1 个赞


14g

这个我无法执行

是sys租户的clog满了,集群无法正常启动,这个情况下只能扩大log_disk_size参数,带参启动

进入ob安装路径 bin目录下
./bin/observer -o “log_disk_size=20G”

如果报错libmariadb.so.3: cannot open shared object file
修复方式:
#将 OceanBase 数据库的 LIB 加到环境变量 LD_LIBRARY_PATH 中,按实际路径替换下面路径即可。
echo ‘export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/oceanbase-ce/lib/’ >> ~/.bash_profile
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/oceanbase-ce/lib/

1 个赞

image
这样正确吗,但是还是无法正常启动

还是卡住?麻烦发下新日志


好像没有生效

使用这个启动试下

./bin/observer -o "log_disk_size=20G,log_disk_utilization_threshold=95,log_disk_utilization_limit_threshold=98"