【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】最新版本
【问题描述】执行obd cluster start xxx 一直到Wait for observer init 卡住
【复现路径】
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】最新版本
【问题描述】执行obd cluster start xxx 一直到Wait for observer init 卡住
【复现路径】
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
您的问题可能存在误解,实际上据我所知,当遇到 OceanBase 无法启动的情况时,通常是因为某些配置问题或系统资源限制导致的。您提到的现象“执行 obd cluster start xxx
一直到 Wait for observer init
卡住”,这表明集群启动过程中遇到了障碍。 [1]
为了更好地定位问题,您可以尝试以下几个步骤:
检查日志文件:查看 observer.log
文件,通常位于 /home/admin/oceanbase/log
目录下,寻找启动失败的具体原因。 [1]
资源限制:确认服务器是否有足够的资源(如 CPU、内存、磁盘空间)来支持 OceanBase 的运行。资源不足可能导致启动过程卡住。
配置问题:确认 config.ini
文件中的设置是否正确,特别是那些与系统资源相关的配置项,比如 memory_limit
。
网络问题:确保集群内的所有节点间网络通信正常,没有防火墙规则阻止必要的端口通信。
使用诊断工具:如您所述,可以使用 obdiag
工具来收集更详细的诊断信息,这对于分析问题非常有帮助。 [1]
如果以上方法都不能解决问题,建议您联系 OceanBase 的技术支持团队,或是在社区论坛中寻求帮助,提供更多详细信息以便他人能更准确地为您诊断问题。 [1]
具体信息可参考以下文档:
需要提供下启动时的 observer.log 日志
抱歉,上传该文件时出错。请重试。
由于您提到已经提供了 observer.log
文件但上传时出现了错误,这里有几个建议可以帮助您进一步排查问题:
日志分析:尽管无法直接查看您提供的日志文件,但通常 observer.log
会记录详细的启动信息和错误提示。您可以手动打开这个文件,查找启动阶段的错误信息。重点关注那些带有 [ERROR]
标签的日志条目,它们通常包含了启动失败的原因。 [2]
日志级别调整:如果默认的日志级别不够详细,可以临时增加日志输出的详细程度,以便捕捉更多的调试信息。这可以通过修改配置文件中的日志级别设置来实现。
资源检查:确保启动机器上有足够的资源(CPU、内存、磁盘空间等)。资源不足可能会导致启动过程中的某些步骤无法完成。 [7]
权限问题:确认 OceanBase 的安装目录及其子目录的权限设置是否正确。例如,如果启动 OceanBase 的用户与安装时使用的用户不同,可能会导致权限问题。 [7]
使用工具辅助:尝试使用 obdiag
工具来收集更详细的诊断信息,这有助于更深入地了解问题所在。 [1]
如果您能够提供具体的错误信息或者日志中的关键部分,那么将更有助于我们对问题进行精确的定位和解决。此外,考虑到文件大小较大(30.6MB),建议您通过其他渠道(如邮件或社区论坛)分享完整的日志文件,以便获得更专业的帮助。
参考资料:
具体信息可参考以下文档:
(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)
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}})
能删除一些日志吗
不能,clog不能手动删除
磁盘还是50g,为什么满了
你这里log_disk_size配置的是2048M,可以修改下yaml文件中的这个配置,然后带参启动下
./bin/observer -o “log_disk_size=10G”
看下 observer.config.bin 里面 log_disk_size的数据
strings /home/admin/oceanbase/etc/observer.config.bin|grep log_disk_size
这个我无法执行
是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/
这样正确吗,但是还是无法正常启动
还是卡住?麻烦发下新日志
使用这个启动试下
./bin/observer -o "log_disk_size=20G,log_disk_utilization_threshold=95,log_disk_utilization_limit_threshold=98"