【 使用环境 】生产环境
【 OB or 其他组件 】
Observer OCP
【 使用版本 】
Observer-4.2.4 OCP-4.3.1
【问题描述】清晰明确描述问题
使用OCP扩容分布式集群时,在Add observer子任务持续10分钟后超时
observer日志报错:
[2024-09-11 15:49:20.158754] ERROR [LIB] issue_dba_error (ob_log.cpp:1987) [74200][observer][T0][Y0-0000000000000001-0-0] [lt=4][errcode=-4388] Unexpected internal error happen, please checkout the internal errcode(errcode=-4009, file=“ob_server.cpp”, line_no=429, info=“init ObStorageLoggerManager failed”)
[2024-09-11 15:49:20.158766] EDIAG [SERVER] init (ob_server.cpp:429) [74200][observer][T0][Y0-0000000000000001-0-0] [lt=12][errcode=-4009] init ObStorageLoggerManager failed(ret=-4009, ret=“OB_IO_ERROR”) BACKTRACE:0x2504ceab 0x256e705c 0x24e1f0ea 0x24e1bcd2 0x24e1bc12 0x24e1ba77 0xb8dd03c 0xb8d1c7d 0x7fe4b0e 0x7f529d923d85 0x5e8fa4e
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
3 个赞
论坛小助手
#3
用户问题: “在使用 OCP 4.3.1 对 OceanBase 4.2.4 版本的集群进行扩容单个 Observer 节点时出现了超时现象,并且报错了错误代码 -4009,应该如何解决这个问题?”
推荐使用 obdiag 工具进行日志采集,并且将采集到的日志提供给我们以便确认问题所在。
日志采集场景: IO问题
日志采集命令: obdiag gather scene run --scene=observer.io
该命令会帮助我们收集与 IO 相关的日志信息,便于进一步分析问题原因。另外,为了更准确地定位问题,请您提供一些额外的信息:
- 扩容操作是在什么样的负载情况下进行的?
- 是否有其他并发操作正在进行,例如备份、恢复或其他 DDL 操作?
- 扩容前集群的状态如何,是否有任何异常警告或错误?
- 报错的具体信息是什么?能否提供完整的错误信息或日志片段?
- 扩容失败后,集群当前的状态如何?
请您执行上述命令并将生成的日志压缩包发送给我们,以便于我们进一步分析问题。
检索到的文档如下:
- 10000 ~ 12000
- 4000 ~ 4499
- 数据备份失败
- 900.9000-9499-of-mysql-mode.md
- 4500 ~ 4999
附上敏捷诊断工具 obdiag 使用帮助链接
2 个赞
旭辉
#4
麻烦下载发下完整的任务日志,observer.log,rootservice.log
1 个赞
论坛小助手
#6
根据您提供的日志文件以及问题描述,您在使用OCP对Observer节点进行扩容时遇到了超时问题,并且在日志中发现了错误码-4009。错误码-4009通常表示IO相关的系统调用失败,这可能是由于磁盘IO问题、文件系统权限问题或其他与IO操作有关的问题引起的 [8]。
从您提供的日志文件中,我们可以看到以下关键信息:
-
错误码-4009:
init ObStorageLoggerManager failed(ret=-4009, ret="OB_IO_ERROR")
,这表明在初始化存储日志管理器时发生了IO错误。
-
超时信息:
[2024-09-11 15:49:20.158754] ERROR [LIB] issue_dba_error (ob_log.cpp:1987) [74200][observer][T0][Y0-0000000000000001-0-0] [lt=4][errcode=-4388] Unexpected internal error happen, please checkout the internal errcode(errcode=-4009, file="ob_server.cpp", line_no=429, info="init ObStorageLoggerManager failed")
,这表明在初始化过程中发生了内部错误,并且具体指向了IO错误。
解决方案建议
-
检查磁盘IO性能:确保磁盘没有达到性能瓶颈,可以通过监控工具检查磁盘的读写延迟和吞吐量。
-
检查文件系统状态:确认文件系统的健康状态,包括是否有损坏的文件或分区,可以使用
fsck
命令进行检查。
-
检查磁盘空间:确保有足够的磁盘空间来完成日志初始化操作,不足的空间可能导致IO错误。
-
检查权限问题:确认日志文件所在的目录和文件权限正确,允许Observer进程进行读写操作。
进一步排查步骤
-
查看日志文件:检查
observer.log
和rootservice.log
文件中是否有更多的错误信息,特别是与IO相关的错误。
-
联系技术支持:如果上述步骤无法解决问题,建议联系OceanBase的技术支持团队进行进一步排查。他们可能需要更多的系统信息来进行深入分析。
日志文件分析
-
observer.log:这个文件通常包含了Observer运行时的日志信息,可以帮助我们了解Observer在启动和运行过程中的状态。
-
rootservice.log:这个文件包含了Root Service的日志信息,可以帮助我们了解集群管理和元数据操作的情况。
请根据上述建议进行初步排查,并考虑联系OceanBase的技术支持团队以获得更详细的帮助。如果您有更多的日志信息或系统状态信息,请提供给我们以便进一步分析。
具体信息可参考以下文档:
- 日志
- ob_host_task_timeout OBServer 任务超时
- 日志概述
- 优化日志同步性能
- OCP 配置参数列表
- 安全审计
- OB 日志告警
- OceanBase 云平台概览
- 错误日志
(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)
2 个赞
旭辉
#7
1.检查下磁盘IO /var/log/message
2.发下ocp完整的任务日志
2 个赞
系统IO没有发现异常
ocp-server.log (26.1 MB)
2 个赞
旭辉
#9
扩容节点时ocp会创建一个任务,这里的任务日志,麻烦点击下载上传下
2 个赞
旭辉
#11
好的,这个问题我反馈研发进一步分析下,有进展尽快回复你
2 个赞
旭辉
#12
slog目录没有创建出来,我们复现下这个问题
[2024-09-11 15:49:20.158490] WDIAG [STORAGE.REDO] check_log_disk (ob_storage_logger_manager.cpp:321) [74200][observer][T0][Y0-0000000000000001-0-0] [lt=11][errcode=-4009] fail to get slog directory vfs(ret=-4009, log_dir="/data/oceanbase/slog")
[2024-09-11 15:49:20.158503] WDIAG [STORAGE.REDO] init (ob_storage_logger_manager.cpp:69) [74200][observer][T0][Y0-0000000000000001-0-0] [lt=13][errcode=-4009] fail to set need reserved(ret=-4009)
[2024-09-11 15:49:20.158754] ERROR [LIB] issue_dba_error (ob_log.cpp:1987) [74200][observer][T0][Y0-0000000000000001-0-0] [lt=4][errcode=-4388] Unexpected internal error happen, please checkout the internal errcode(errcode=-4009, file=“ob_server.cpp”, line_no=429, info=“init ObStorageLoggerManager failed”)
1 个赞
旭辉
#13
1.麻烦问下 源OB集群是OCP部署的 还是OBD部署然后OCP接管的?
2.分别看下35.6,35.7的/data/oceanbase目录内容
ls /data/oceanbase
1 个赞
是ocp部署的,我重置服务器,重新部署了ob4.2.4的三节点集群,然后又有新的问题了
1 个赞
旭辉
#16
麻烦确认下ocp_agent版本
root用户执行:/home/admin/ocp_agent/bin/ocp_agentctl version
1 个赞
旭辉
#17
现在有进展了吗?
一个类似的案例,通过OCP431接管OBD部署的集群后,再 add server、add zone会出现这个现象,已确认为ocp bug,在ocp 432 修复