开发者社区 > PolarDB开源 > PolarDB 分布式版 > 正文

PolarDB-X使用 启动容器,4886能通,32886 connect fail 是什么原因?

PolarDB-X使用 启动容器,4886能通,32886 connect fail 是什么原因?
docker run -d --name some-dn-and-gms --env mode=dev -p 4886:4886 -p 32886:32886 polardbx/polardb-x
CN 启动报错,
Exception in thread "main" ERR-CODE: [PXC-10001][ERR_X_PROTOCOL_CLIENT] XDataSource to my_polarx@172.17.0.2:32886 ERR-CODE: [PXC-10001][ERR_X_PROTOCOL_CLIENT] XClientPool to my_polarx@172.17.0.2:32886 connect fail.

展开
收起
青城山下庄文杰 2023-11-06 19:58:22 161 0
4 条回答
写回答
取消 提交回答
  • 这个是哪里看到的启动方式么,https://github.com/polardb/polardbx/tree/main/docker#%E5%9C%BA%E6%99%AF3-%E5%9F%BA%E4%BA%8E-polardbx-sql-%E8%BF%9B%E8%A1%8C%E5%BC%80%E5%8F%91 按这个试试,最新版应该是 34886 端口, 私有协议这块有过改动 此回答整理自钉群“阿里云 PolarDB-X 开源交流群”

    2023-11-07 18:02:37
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    根据描述,PolarDB-X 启动时报错:“Exception in thread “main” ERR-CODE: [PXC-10001][ERR_X_PROTOCOL_CLIENT] XDataSource to my_polarx@172.17.0.2:32886 ERR-CODE: [PXC-10001][ERR_X_PROTOCOL_CLIENT] XClientPool to my_polarx@172.17.0.2:32886 connect fail.”可能原因是由于网络连接失败,建议您检查以下方面:

    • DNS 解析失败:请检查主机上的 DNS 设置,确保与容器内部 DNS 相关的设置正确。
    • 网络隔离:请检查主机上的防火墙设置和安全组规则是否允许对外部接口的访问。
    • TCP/IP 连接拒绝:请检查主机上与容器通信所需的端口是否开启和对外开放,例如端口 4886 和 32886。
    2023-11-07 11:11:16
    赞同 展开评论 打赏
  • 根据提供的信息,PolarDB-X启动容器时出现32886连接失败的问题。可能的原因有以下几点:

    1. 防火墙设置:请检查防火墙是否允许从外部访问32886端口。确保防火墙规则允许来自4886端口的连接请求通过。

    2. 网络配置:请检查PolarDB-X容器和宿主机之间的网络连接是否正常。确保它们之间可以互相通信。

    3. 端口映射问题:请确保在运行Docker容器时正确设置了端口映射。使用以下命令启动容器:

      docker run -d --name some-dn-and-gms --env mode=dev -p 4886:4886 -p 32886:32886 polardbx/polardb-x
      

      确保-p 32886:32886部分正确映射了32886端口。

    4. 数据库配置:请检查PolarDB-X的配置是否正确。确保数据库实例已正确配置并正在运行。

    如果以上方法都无法解决问题,建议查看PolarDB-X的日志文件以获取更多详细信息。日志文件通常位于容器的/var/log目录下。

    2023-11-06 21:36:43
    赞同 展开评论 打赏
  • 根据您提供的信息,出现错误的原因可能是:

    1. 容器内部的服务没有正确启动。您可以在容器内部运行命令 netstat -an|grep 32886 来确认端口 32886 是否正在监听。
    2. 容器内部的服务没有正确的配置。请确认您在运行 Docker 容器时传递的环境变量 mode=dev 是否符合 PolarDB-X 的要求。如果不符合要求,可能需要更改环境变量值或者修改容器内的配置文件。
    3. 宿主机的防火墙阻止了端口 32886 的访问。您可以通过在宿主机上运行命令 iptables -L -v 来确认是否有相关的防火墙规则阻止了端口 32886 的访问,如有必要可以临时关闭防火墙或者添加相应的放行规则。
    2023-11-06 21:36:43
    赞同 展开评论 打赏

PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 采用 Shared-nothing 与存储计算分离架构,支持水平扩展、分布式事务、混合负载等能力,100%兼容MySQL。 2021年开源,开源历程及更多信息访问:OpenPolarDB.com/about

相关产品

  • 云原生分布式数据库 PolarDB-X
  • 相关电子书

    更多
    PolarDB-X分布式数据库解决方案 立即下载
    PolarDB-X 2.0 全局 Binlog 与备份恢复能 立即下载
    分布式数据库DRDS全新升级 立即下载