首批通过分布式安全可靠测评,为关键业务系统打造
错误码
更新时间:2026-04-14 17:50:42
本文总结了使用 OBD 过程中可能会遇到的相关报错,主要包括以下几个方面。
通用报错
OBD-1000:Configuration conflict x.x.x.x: xxx port is used for x.x.x.x
错误原因:配置文件中存在端口冲突。
解决方法:根据部署方法的不同有如下两种解决方法。
命令行部署时,您可使用
obd cluster edit-config <deploy name>命令打开配置文件,查看端口配置并进行修改,保存后执行命令行中输出的命令使修改生效。图形化界面部署时,您可单击 上一步,在 集群配置 页面找到报错中的端口并修改。
OBD-1001:x.x.x.x:xxx port is already used
错误原因:端口已经被占用。
说明
各个组件的端口配置项以及默认端口号可参考 【SOP 系列 20】OceanBase 服务端进程 & 生态产品默认端口号。
解决方法:您可选择结束该端口的进程,或更换为未被占用的端口。您可根据自身情况选择以下任一方式更换端口。
方法一:若您使用配置文件部署,可使用
obd cluster edit-config <deploy name>命令打开配置文件并修改配置文件中对应的端口配置。修改完成后继续执行obd cluster start命令启动即可。说明
方法一中提到的命令详细介绍可参考 集群命令组。
方法二:若您使用
obd demo命令部署,可通过如下命令指定端口,此处以指定 oceanbase-ce 组件的 mysql_port 为例。obd demo --oceanbase-ce.mysql_port=3881说明
方法二中提到的命令详细介绍可参考 快速部署命令。
方法三:若您通过 OBD 白屏界面部署,可单击 上一步 直到找到报错中对应的端口,并修改为未被占用的端口。
OBD-1002:Fail to init x.x.x.x path
错误原因:有如下两种可能原因,您可根据报错的具体信息进行判断。
配置文件中的 user 用户(未填的情况下默认为当前用户)没有对应目录的写权限。
home_path 不为空。
解决方法:
对于情况 1,您可通过以下两种方式解决。
使用
obd cluster edit-config <deploy name>命令打开配置文件,添加或修改配置文件中的 user 信息,保存后执行命令行中输出的命令使修改生效。登陆到目标机器,为当前账号赋予对应目录的写权限。
对于情况 2,您也可通过以下两种方式解决。
选择其他目录。
若您确认该目录可以被清空,也可使用
-f选项,OBD 将会使用当前用户去清空该目录。
OBD-1003:fail to clean x.x.x.x:xxx
错误原因:检查配置文件中的 user 用户(未填的情况下默认为当前用户)是否有 home_path 的写权限。
解决方法:您可通过以下两种方式解决。
使用
obd cluster edit-config <deploy name>命令打开配置文件,添加或修改配置文件中的 user 信息,保存后执行命令行中输出的命令使修改生效。登陆到目标机器,为当前账号赋予对应目录的写权限。
OBD-1004:Configuration conflict x.x.x.x: xxx is used for x.x.x.x
错误原因:配置文件中存在路径冲突。
解决方法:请您检查配置并进行修改。
OBD-1005:Some of the servers in the cluster have been stopped
错误原因:后续的操作需要所有的机器的服务全部在线,而当前配置内的部分机器已经停止。
解决方法:您可使用 obd cluster start <deploy_name> --wop 无参启动,将全部的服务拉起。
OBD-1006:Failed to connect to xxx
错误原因:
OBD 和目标机器之间网络不连通。
对应的组件进程已经退出或者不提供服务。
账号密码不匹配。
解决办法:
对于情况 1,请自行修复网络。
对于情况 2,可尝试再次启动组件,如果依旧启动失败,请参考启动失败的错误进行排查,如 OBD-2002。
对于情况 3,常见原因是用户直接执行 SQL 命令修改了密码,账号密码与配置文件中存储的不同导致 OBD 连接不到组件。该种情况下有以下两种解决办法。
执行 SQL 命令将密码改回与 OBD 储存的密码一致。
执行
vi ~/.obd/cluster/<deploy name>/config.yaml修改对应的密码使其与组件中实际密码一致。
OBD-1007:(x.x.x.x) xxx must not be less than xxx (Current value: xxx)
错误原因:ulimits 配置不满足要求。
解决办法:可通过修改 /etc/security/limits.d/ 目录下对应文件和 /etc/security/limits.conf 使其满足要求。
OBD-1008:(x.x.x.x) failed to get fs.aio-max-nr and fs.aio-nr
错误原因:OBD 获取不到服务器上 aio 配置。
解决办法:请检查当前用户是否有权限查看 fs.aio-max-nr/fs.aio-nr。
cat /proc/sys/fs/aio-max-nr /proc/sys/fs/aio-nr
OBD-1009:x.x.x.x xxx need config: xxx
错误原因:服务相关组件缺少对应配置。
解决办法:使用 obd cluster edit-config <deploy name> 命令打开配置文件,并在配置文件中添加所提示的配置项,保存后执行命令行中输出的命令使修改生效。
OBD-1010:x.x.x.x No such net interface: xxx
错误原因:OBD 获取不到 devname。
解决办法:根据部署方法的不同,有如下两种解决方法。
命令行部署时,执行
obd cluster edit-config <deploy_name>命令打开配置文件,在配置文件中添加或修改devname,保存后执行命令行中输出的命令使修改生效。图形化界面部署时,可单击 上一步,在 集群配置 页面打开 集群配置 中的 更多配置,设置 devname。
OBD-1011:(x.x.x.x) Insufficient AIO remaining (Avail: xxx, Need: xxx), The recommended value of fs.aio-max-nr is 1048576
错误原因:系统可用 aio 数量少于数据库需要的 aio 数量。
解决办法:执行如下命令修改 linux aio-max-nr。
sudo sysctl fs.aio-max-nr=1048576
OBD-1012:xxx
错误原因:
类型转换异常,如 int 型参数传入字符串。
参数值超限,如
rpc_port的取值区间是 1025~65535,则rpc_port配置的值不在该区间就会报错。参数缺失,如关键参数如
home_path未配置。
解决办法:
对于情况 1,请您检查参数类型并修改。
对于情况 2,请您检查传参值并修改。
对于情况 3,请您检查传参配置,若存在参数缺失需配置对应参数。
OBD-1013:xxx@x.x.x.x connect failed: xxx
错误原因:出现该报错的原因有很多,常见的原因有以下两种。
用户名或密码错误。
连接超时。
解决办法:您可手动通过 SSH 命令连接对应机器,验证连接信息是否正确。
若无法连接,您需排查连接信息正确性,以及服务器相应配置。
若连接成功,您需修改配置的连接信息,根据部署方法的不同,有如下两种修改方法。
命令行部署时,执行
obd cluster edit-config <deploy_name>命令打开配置文件,在配置文件中添加或修改user部分配置,保存后执行命令行中输出的命令使修改生效。图形化界面部署时,可单击 上一步,在 节点配置 页面修改 部署用户配置 模块信息。
若排查处理后仍然无法部署成功,您可到官网 问答区 进行提问,会有专业人员为您解答。
OceanBase 部署相关报错
OBD-2000:x.x.x.x not enough memory
错误原因:内存不足。
解决方法:OBD 的启动严格按照 MemAvailable 来计算内存。如果存在可以释放的 cached,您可以先使用以下命令尝试释放。
sudo sysctl -w vm.drop_caches=1
# 或
sudo echo 1 > /proc/sys/vm/drop_caches
如果内存仍然不足请执行 obd cluster edit-config <deploy name> 命令打开配置文件,调整 memory_limt 和 system_memory,通常情况下 memory_limt/3 ≤ system_memory ≤ memory_limt/2。
注意
部署 OceanBase 数据库 4.x 之前版本时,
memory_limt不能低于 8G,即您的可用内存必须大于等于 8G。部署 OceanBase 数据库 4.x 版本时,
memory_limt不能低于 6G,即您的可用内存必须大于等于 6G。
OBD-2001:server can not migrate in
错误原因:可用的 Unit 数小于 --unit-num。
解决方法:请您修改传入的 --unit-num。您可使用以下命令查看当前可用的 Unit 数。
select count(*) num from oceanbase.__all_server where status = 'active' and start_service_time > 0
OBD-2002:failed to start x.x.x.x observer
错误原因:出现该报错的原因有很多,常见的原因有以下两种。
memory_limit小于 8G。system_memory太大或太小。通常情况下memory_limt/3 ≤ system_memory ≤ memory_limt/2。
解决方法:
若排查后发现该报错为上述两条原因造成,根据对应原因进行调整即可;
若排查后发现不是由上述两条原因引起的报错,您可到官网 问答区 进行提问,会有专业人员为您解答。
OBD-2003:not enough disk space for clog. Use redo_dir to set other disk for clog, or reduce the value of datafile_size
错误原因:磁盘使用率高于使用率要求。
若您采用的是自动部署方式,要求磁盘使用率不能高于 72%。
若您采用的是手动部署的方式,在不更改配置的情况下,要求磁盘使用率不能高于 64%。
注意
在 redo_dir 和 data_dir 同盘的情况下,计算磁盘使用率时会算上 datafile 将要占用的空间。
解决方法:请您对磁盘的存储进行调整,根据部署方式的不同有如下两种调整方法。
命令行部署时,您可使用
obd cluster edit-config <deploy name>命令打开配置文件,修改磁盘相关的配置项(如datafile_size、memory_limit、log_disk_size),保存后执行命令行中输出的命令使修改生效。图形化界面部署时,您可单击 上一步,在 集群配置 页面打开 集群配置 中的 更多配置,修改磁盘相关配置项(如
datafile_size、memory_limit、log_disk_size)。
OBD-2004:Invalid: xxx is not a single server configuration item
错误原因:修改的配置项是一个全局配置项,不能对某个 server 单独修改。
解决方法:您可将需修改的配置改放到 global 下。
OBD-2005:Failed to register cluster. xxx may have been registered in xxx
错误原因:注册集群失败,或者该集群已经被注册。
解决办法:您需先查看集群是否配置了 appname 配置项,未配置的情况下无法将集群注册到 obconfigserver 中。之后根据集群是否已部署分为如下两种情况。
情况一:若您想要注册到 obconfigserver 中的集群为待部署的 OceanBase 集群,请先注释
obconfig_url配置项,启动集群后再执行obd cluster edit-config命令配置obconfig_url。目前暂不支持将待部署集群注册到 obconfigserver 中。情况二:若您想要注册到 obconfigserver 中的集群为已成功启动的集群,可先确定配置项
obconfig_url是否配置正确。若
obconfig_url配置不正确,您可执行obd cluster edit-config命令打开配置文件,将正确的 Config URL 配置给配置项obconfig_url。若您确认
obconfig_url配置正确并希望强制覆盖,可在执行obd cluster start命令时加上-f参数覆盖已注册的集群。
OBD-2006:x.x.x.x has more than one network interface. Please set devname for x.x.x.x
错误原因:机器具有多个网络接口,OBD 获取不到 devname。
解决办法:根据部署方法的不同,有如下两种解决方法。
命令行部署时,执行
obd cluster edit-config <deploy_name>命令打开配置文件,在配置文件中添加或修改devname,保存后执行命令行中输出的命令使修改生效。图形化界面部署时,可单击 上一步,在 集群配置 页面打开 集群配置 中的 更多配置,设置 devname。
OBD-2007:x.x.x.x xxx fail to ping x.x.x.x. Please check configuration devname
错误原因:机器之间相互 ping 不通。
解决办法:
检查各个节点网络是否畅通。
检查网络配置(
devname)是否与实际匹配,可通过ip addr命令查看 IP 和网卡对应关系。不匹配的情况下根据部署方式的不同有如下两种修改方法。命令行部署时,执行
obd cluster edit-config <deploy_name>命令打开配置文件,在配置文件中添加或修改devname,保存后执行命令行中输出的命令使修改生效。图形化界面部署时,可单击 上一步,在 集群配置 页面打开 集群配置 中的 更多配置,设置 devname。
OBD-2008:Cluster clocks are out of sync
错误原因:集群之间时钟超时。
解决办法:同步各个服务器的时钟。
OBD-2009:x.x.x.x: when production_mode is True, xxx can not be less then xxx
错误原因:当生产模式开启时,__min_full_resource_pool_mem、memory_limit 等配置项不能小于规定值。
解决办法:
部署非生产环境时,执行
obd cluster edit-config <deploy_name>命令打开配置文件,修改配置项production_mode为False,保存后执行命令行中输出的命令使修改生效。部署生产环境时, 执行
obd cluster edit-config <deploy_name>命令打开配置文件,修改配置项__min_full_resource_pool_mem、memory_limit,使其大于规定值,保存后执行命令行中输出的命令使修改生效。
OBD-2010:x.x.x.x: system_memory too large. system_memory must be less than memory_limit/memory_limit_percentage
错误原因:配置项 system_memory 配置过大,该配置项值必须小于 memory_limit 或 memory_limit_percentage * total_memory。
解决办法:根据部署方式的不同有如下两种解决方法。
命令行部署时,可使用
obd cluster edit-config <deploy name>命令打开配置文件,修改配置项system_memory,保存后执行命令行中输出的命令使修改生效。图形化界面部署时,可单击 上一步,在 集群配置 页面打开 集群配置 中的 更多配置,设置
system_memory。
OBD-2011:x.x.x.x: fail to get memory info.\nPlease configure 'memory_limit' manually in configuration file
错误原因:服务器获取不到内存信息。
解决办法:根据部署方式的不同有如下两种解决方法。
命令行部署时,执行
obd cluster edit-config <deploy_name>命令打开配置文件,配置memory_limit信息,保存后执行命令行中输出的命令使修改生效。图形化界面部署时,可单击 上一步,在 集群配置 页面打开 集群配置 中的 更多配置,设置
memory_limit。
测试相关报错
OBD-3000:parse cmd failed
错误原因:mysqltest 初始化文件必须是以 .sql 结尾的 sql 文件。
解决方法:请您检查 --init-sql-files 的参数是否满足此要求。
OBD-3001:xxx.sql not found
错误原因:mysqltest 初始化时找不到对应的初始化文件。
解决方法:请您检查 --init-sql-dir 目录下是否包含 --init-sql-files 声明的文件。
OBD-3002:Failed to load data
错误原因:出现该报错的原因有很多,常见的原因有以下两种。
租户资源不足或者压力过大。
数据构建脚本报错。
解决方法:
对于情况 1,可使用资源规格更大的租户,或者调整 warehouses、load-workers 等参数值以减少构建压力。
对于情况 2,由于数据构建脚本是由 TPC 官网提供,可以先尝试重新执行脚本,如果问题仍然存在请到官网 问答区 提问,会有专业人员为您解答。
OBD-3003:Failed to run TPC-C benchmark
错误原因:
测试进程卡死后因为超时被杀死。
TPC-C 测试命令返回报错。
解决方法:
直接重新测试,或通过调整 terminals 等参数减少测试压力后重新测试。
如果没有使用官网提供的 obtpcc 包,请使用 obtpcc 进行测试。
如果上述方法均无法解决问题,请到官网 问答区 提问,会有专业人员为您解答。
OBAgent 相关报错
OBD-4000:Fail to reload x.x.x.x
错误原因:该节点的 http_basic_auth_password 与 OBD 中存储的 http_basic_auth_password 不符,导致 OBD 不能正确的访问 obagent。
解决方法:若您确认二者相符,请检查此次修改的选项中是否包含了当前版本不支持的配置项或者配置项名称是否书写错误。
OBD-4001:Fail to send config file to x.x.x.x
错误原因:出现该报错的原因有两点,请您依次进行检查。
obagent home_path 磁盘空间是否充足。
配置文件中的 user 用户(未填的情况下默认为当前用户)是否拥有 obagent home_path 的写权限。
解决方法:您可通过以下两种方式解决。
运行
obd cluster edit-config <deploy_name>命令添加或修改 user 信息,保存后执行命令行中输出的命令使修改生效。登陆到目标机器,为当前账号赋予对应目录的写权限。
ODP 相关报错
OBD-4100:x.x.x.x need config "rs_list" or "obproxy_config_server_url"
错误原因:服务器获取不到 rs_list/obproxy_config_server_url 信息。
解决办法:执行 obd cluster edit-config <deploy_name> 命令打开配置文件,添加或修改 rs_list 或 obproxy_config_server_url 配置项,保存后执行命令行中输出的命令使修改生效。
OBD-4101:failed to start x.x.x.x obproxy: xxx
错误原因:启动 ODP 失败。
解决办法:需根据提示进一步分析。
Grafana 相关报错
OBD-4200:x.x.x.x grafana admin password should not be 'admin'
错误原因:grafana 组件 admin 用户的 password 不应该是 admin。
解决办法:执行 obd cluster edit-config <deploy_name> 命令打开配置文件,添加或修改 password 信息,保存后执行命令行中输出的命令使修改生效。
OBD-4201:x.x.x.x grafana admin password length should not be less than 5
错误原因:grafana 组件 admin 用户的 password 长度不能小于 5 位。
解决办法:执行 obd cluster edit-config <deploy_name> 命令打开配置文件,添加或修改 password 信息,保存后执行命令行中输出的命令使修改生效。
OCP Express 相关报错
OBD-4300:x.x.x.x: failed to query java version, you may not have java installed
错误原因:OBD 获取不到服务器上 Java。
解决办法:
安装 Java,详细步骤可参考 常见问题 中 部署 OCP Express 前如何配置 Java 环境。
如果 Java 已经安装,可以通过配置
java_bin来指定 Java 可执行文件的路径。根据部署方式的不同有如下两种配置方法。命令行部署时,可使用
obd cluster edit-config <deploy name>命令打开配置文件,修改配置文件中java_bin配置项为 Java 可执行文件路径,保存后执行命令行中输出的命令使修改生效。图形化界面部署时,可单击 上一步,在 集群配置 页面,打开 组件配置 中的 更多配置,修改
java_bin配置项为 Java 可执行文件路径。
OBD-4301:x.x.x.x: ocp-express need java with version xxx
错误原因:服务器上 Java 版本过低。
解决办法:安装提示版本的 Java,如果目标版本 Java 已经安装,可以通过配置 java_bin 来指定 Java 可执行文件的路径,具体方法可参见 OBD-4300。
OBD-4302:x.x.x.x not enough memory. (Free: xxx, Need: xxx)
错误原因:服务器上没有足够内存
解决办法:分为以下几种解决方法。
若机器本身内存不足,可调小
memory_size配置项的值,或更换其他内存足够的机器。根据部署方式的不同有如下两种调小memory_size配置项值的方法。命令行部署时,执行
obd cluster edit-config <deploy name>命令打开配置文件,调小memory_size配置值,保存后执行命令行中输出的命令使修改生效。图形化界面部署时,可单击 上一步,在 集群配置 页面,打开 集群配置 中的 更多配置,减小
memory_size配置项的值。
若是机器剩余内存资源不足,如果存在可以释放的 cached,您可以先使用以下命令尝试释放。
sudo sysctl -w vm.drop_caches=1 # 或 sudo echo 1 > /proc/sys/vm/drop_caches
OBD-4303:x.x.x.x xxx not enough disk space. (Avail: xxx, Need: xxx)
错误原因:服务器磁盘没有足够的空间。
解决办法:请您自行检查并清理磁盘,或调小 logging_file_total_size_cap 配置项的值。根据部署方式的不同有如下两种调小 logging_file_total_size_cap 配置项值的方法。
命令行部署时,执行
obd cluster edit-config <deploy name>命令打开配置文件,调小logging_file_total_size_cap配置值,保存后执行命令行中输出的命令使修改生效。图形化界面部署时,可单击 上一步,在 集群配置 页面,打开 组件配置 中的 更多配置,减小
logging_file_total_size_cap配置项的值。
OBD-4304:OCP express xxx needs to use xxx with version xxx or above
错误原因:部署 ocp-express 组件需要使用对应版本的组件。
解决办法:使用 obd cluster edit-config <deploy name> 命令打开配置文件,修改报错对应组件的版本(version),保存后执行命令行中输出的命令使修改生效。
OBD-4305: There is not enough xxx for ocp meta tenant
错误原因:没有足够的日志磁盘、内存去创建 OCP meta 租户。
解决办法:您可尝试清理磁盘、内存后重试,或根据部署方式的不同参考如下两种方法修改相关配置项。
命令行部署时,如果配置了集群规格,可执行
obd cluster edit-config <deploy name>命令打开配置文件,调大oceanbase-ce组件的相应配置项(例如内存相关配置项memory_limit/memory_limit_percentage、日志盘相关配置项log_disk_size/log_disk_percentage),或调小ocp_meta_tenant->memory_size配置项,保存后执行命令行中输出的命令使修改生效。图形化界面部署时,可单击 上一步,在 集群配置 页面,打开 集群配置 中的 更多配置,减小
ocp_meta_tenant_memory_size配置项的值,或调大memory_limit和log_disk_size的值。
OBD-4306: xxx ocp-express admin_passwd invalid
错误原因:OCP Express 登录页面的 admin 账号密码配置不合规。
解决办法:您可执行 obd cluster edit-config 命令打开对应配置文件,并修改 admin_passwd 配置项,该配置项复杂度需满足:长度为 8~32 位字符,支持字母、数字和特殊字符,且至少包含大、小写字母、数字和特殊字符各 2 位,支持的特殊字符为 ~!@#%^&*_-+=`|(){}[]:;',.?/。
注意
该配置项修改后需执行 obd cluster redeploy 命令重启生效,该命令会销毁集群,重新部署,您集群中的数据会丢失,请先做好备份。
SQL 相关报错
OBD-5000:sql execute failed
错误原因:SQL 执行失败。
解决办法:需根据具体情况确定解决办法。