目录标题
问题
你这个错误:
ERROR 2002 (HY000): Can't connect to OceanBase server on '245.0.1.247' (115)
是 OceanBase 客户端 obclient 连接失败,错误代码 115 对应的是系统错误 Operation now in progress,大致意思是 TCP 连接尝试失败或没有响应。这类问题通常属于 网络连接类错误,常见原因如下:
✅ 核查方向一:OceanBase 服务是否启动
-
登录目标服务器
245.0.1.247,确认 OBServer 实例是否运行:ps -ef | grep observer -
检查 OBServer 是否监听
2883端口(即 sys 租户的 SQL 端口):netstat -tunlp | grep 2883或
ss -ltnp | grep 2883
✅ 核查方向二:防火墙或安全组是否拦截
-
确认目标机器防火墙是否放行
2883端口:sudo iptables -L -n | grep 2883 # 或 firewall-cmd --list-ports -
检查 Kubernetes 容器或云环境下的安全组、NetworkPolicy 是否限制了 2883 端口。
✅ 核查方向三:端口是否配置正确
-
OceanBase 默认端口说明(可能因部署方式不同而变化):
2881:RPC 端口2882:集群内部通信端口2883:用于 SQL 服务(即 obclient 连接端口)
请确认你连接的是 SQL 端口(2883),而不是 RPC 等其他端口。
✅ 核查方向四:绑定地址配置问题
-
有些 OceanBase 部署可能仅绑定了
127.0.0.1或localhost,导致外部无法访问。检查配置文件observer.conf或启动参数中的--mysql_proxy_bind设置:grep mysql_proxy_bind /path/to/observer.log
✅ 核查方向五:obclient 与 OceanBase 版本不兼容
-
obclient 与目标 OceanBase Server 的版本不匹配可能会连接失败,建议确认:
obclient --version observer --version
✅ 核查方向六:确认网络连通性
-
从你本地测试是否能访问该端口:
telnet 245.0.1.247 2883 # 或 nc -vz 245.0.1.247 2883
结论与建议:
请优先按照下面的顺序排查:
observer是否真的监听2883,服务是否启动?- 目标机器防火墙、云安全组等是否拦截了 2883?
- 确保
obclient命令行参数中-P2883正确,并且目标地址能 ping 通。 - 若是部署在 Docker/Kubernetes 中,还需要确认 NAT/网络策略是否支持外部访问。
如仍不通,可提供下面信息我帮你继续分析:
observer.log最近几分钟的关键日志ss -ltnp或netstat -tunlp输出telnet/nc的测试结果- 是否使用 OBD 工具部署(如是,也请贴一下
obd cluster display输出)
是否继续排查?
1743

被折叠的 条评论
为什么被折叠?



