Docker部署oceanbase 报 ERROR 2002 (HY000): Can't connect to OceanBase server on '127.0.0.1' (115)

【 使用环境 】麒麟操作系统,国产CPU
【 使用版本 】arm64/oceanbase:4.3.5-lts
【问题描述】使用Docker模式单机部署oceanbase,进入容器连接数据库时,报ERROR 2002 (HY000): Can’t connect to OceanBase server on ‘127.0.0.1’ (115)

【附件及日志】

2 个赞

连接前就有一个报错,应该看看docker logs吧,先解决前一个问题,再试试客户端登陆吧

1 个赞

2 个赞

docker版本还未尝试过呢?我裸机安装多一些,出现这种情况,可以先卸载obd cluster destroy xxx再安装。docker也可以类似方法试试吧,删掉容器,重新再构建容器

2 个赞

netstat -antlp|grep 2881

1 个赞

端口没有被占用,他是在docker容器内的

1 个赞

删掉重试了,没有效果,重装之后还是这样

2 个赞

@论坛小助手

1 个赞

启动失败,需要提供一份observer日志

2 个赞

看起来您遇到了一些关于连接到 Docker 容器内 OceanBase 数据库的问题。根据您的描述,问题似乎出现在连接到运行在 Docker 容器内的 OceanBase 数据库时遇到障碍。您已经确认了目标端口没有被占用,也尝试了删除和重装容器,但问题仍然存在。为了帮助定位问题,我整理了一些可能的原因及解决方案:

  1. 网络配置问题:

    • 确认容器与宿主机之间的网络配置是否正确。
    • 尝试使用 docker inspect <容器名或ID> 查看容器的网络设置,确保容器确实监听了 2881 端口,并且这个端口已经被映射到了宿主机的 2881 端口。
  2. Docker 版本和配置:

    • 确认您的 Docker 版本是最新的,或者至少是稳定版本。有时旧版本可能会有未知的 bug。
    • 检查 Docker 配置文件(如 /etc/docker/daemon.json),确认没有配置错误影响到容器的正常运行。
  3. 防火墙设置:

    • 如果您的宿主机有防火墙规则,确认这些规则允许从宿主机到容器的流量。
    • 尝试临时关闭防火墙进行测试,以排除防火墙规则的影响。
  4. 容器内部问题:

    • 进入容器内部,检查数据库服务是否正常启动。
    • 使用 docker exec -it <容器名或ID> bash 命令进入容器,然后执行 ps aux | grep oceanbase 检查 OceanBase 进程是否在运行。
    • 检查容器内的日志文件,确认是否有任何错误信息。
  5. 连接参数:

    • 确认连接命令中的参数是否正确,特别是 -h 参数应指向宿主机的 IP 地址(如果容器使用的是桥接网络)。
    • 例如,您可以尝试使用 obclient -h127.0.0.1 -uroot@sys -A -Doceanbase -P2881 -p 命令连接。

如果您能提供更多具体的错误信息或日志内容,可能会更有助于定位问题。希望这些建议对您有所帮助!

具体信息可参考以下文档:

  1. 部署个人实验环境
  2. 快速体验 OceanBase 社区版
1 个赞

确定一下实例是不是没有链接配置好

1 个赞

observer日志在哪可以导出?

可以具体说明一下,哪个链接?容器现在是正常运行的,能够正常进入容器内部

image
网络配置、Docker版本、防火墙、容器、都是没有问题的

~/oceanbase/log下

1 个赞

image
log目录下是空的

image
看到日志中存在core dump问题。当前cpu是否有atomics 指令。
如果没有需要使用nonlse的安装包

1 个赞

再看下是否有avx指令集,435bp4后arm架构可不依赖avx

1 个赞