ERROR 2002 (HY000): Can‘t connect to OceanBase server on ‘245.0.1.247‘ (115)

问题

你这个错误:

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.1localhost,导致外部无法访问。检查配置文件 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
    

结论与建议:

请优先按照下面的顺序排查:

  1. observer 是否真的监听 2883,服务是否启动?
  2. 目标机器防火墙、云安全组等是否拦截了 2883?
  3. 确保 obclient 命令行参数中 -P2883 正确,并且目标地址能 ping 通。
  4. 若是部署在 Docker/Kubernetes 中,还需要确认 NAT/网络策略是否支持外部访问。

如仍不通,可提供下面信息我帮你继续分析:

  • observer.log 最近几分钟的关键日志
  • ss -ltnpnetstat -tunlp 输出
  • telnet / nc 的测试结果
  • 是否使用 OBD 工具部署(如是,也请贴一下 obd cluster display 输出)

是否继续排查?

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值