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.
这个是哪里看到的启动方式么,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 开源交流群”
根据描述,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.”可能原因是由于网络连接失败,建议您检查以下方面:
根据提供的信息,PolarDB-X启动容器时出现32886连接失败的问题。可能的原因有以下几点:
防火墙设置:请检查防火墙是否允许从外部访问32886端口。确保防火墙规则允许来自4886端口的连接请求通过。
网络配置:请检查PolarDB-X容器和宿主机之间的网络连接是否正常。确保它们之间可以互相通信。
端口映射问题:请确保在运行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端口。
数据库配置:请检查PolarDB-X的配置是否正确。确保数据库实例已正确配置并正在运行。
如果以上方法都无法解决问题,建议查看PolarDB-X的日志文件以获取更多详细信息。日志文件通常位于容器的/var/log
目录下。
根据您提供的信息,出现错误的原因可能是:
netstat -an|grep 32886
来确认端口 32886 是否正在监听。mode=dev
是否符合 PolarDB-X 的要求。如果不符合要求,可能需要更改环境变量值或者修改容器内的配置文件。iptables -L -v
来确认是否有相关的防火墙规则阻止了端口 32886 的访问,如有必要可以临时关闭防火墙或者添加相应的放行规则。版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 采用 Shared-nothing 与存储计算分离架构,支持水平扩展、分布式事务、混合负载等能力,100%兼容MySQL。 2021年开源,开源历程及更多信息访问:OpenPolarDB.com/about