首批通过分布式安全可靠测评,为关键业务系统打造
OBServer 启动失败,错误代码 4002
更新时间:2026-05-06 09:11
介绍 OBServer 启动失败并报 4002 错误时,如何进行问题排查并解决问题。
使用版本
OceanBase 数据库所有版本。
问题现象
OBServer 启动失败,错误信息如下。
[timestamp] WARNN [SERVER] set_io_config (ob_io_manager.cpp:637) [1052][0][Y0-xxxxxx] [lt=25][dc=0] invalid argument, (conf=(sys_io_low_percent=77, sys_io_high_percent=3, user_iort_up_percent=100, cpu_high_water_level:1200, write_failure_detect_interval=60000000, read_failure_blacklist_interval=30000000, retry_warn_limit:2, retry_error_limit:5, disk_io_thread_count:8, callback_thread_count:8), ret=-4002)
[timestamp] ERROR [SERVER] init_io (observer.cpp:997) [1052][0][Y0-xxxxxx] [lt=25] [dc=0] config io manger faile. (ret=-4002) BackTrace: ...
可能原因
根据错误信息中 sys_io_low_percent=77, sys_io_high_percent=3,可知是由于 sys_io_low_percent 的值高于 sys_io_high_percent 导致启动失败。
配置项 sys_bkgd_io_low_percentage 与 sys_bkgd_io_high_percentage 用于控制 OceanBase 数据库的吞吐量。有关以上两个配置项的详细信息,请参见 《OceanBase 数据库 参考指南》 中的 系统 配置项 章节。
解决方式
通过启动 observer 进程时指定启动参数,将 sys_bkgd_io_low_percentage 设置小于sys_bkgd_io_high_percentage。
推荐使用默认值,sys_bkgd_io_low_percentage 的默认值为 0,sys_bkgd_io_high_percentage 的默认值为 90。
[admin@hostname ~]$ cd oceanbase
[admin@hostname oceanbase]$ ./bin/observer -o 'sys_bkgd_io_low_percentage=0,sys_bkgd_io_high_percentage=90'