当前位置: 代码迷 >> 综合 >> nacos 服务注册报错server is DOWNnow, detailed error message: Optional[Distro protocol is not initialized]
  详细解决方案

nacos 服务注册报错server is DOWNnow, detailed error message: Optional[Distro protocol is not initialized]

热度:126   发布时间:2023-11-21 12:05:44.0

nacos 2.x 集群搭建后服务注册失败

报错:

server is DOWNnow, detailed error message: Optional[Distro protocol is not initialized]

关键日志:

com.alibaba.nacos.api.exception.NacosException: failed to req API:/nacos/v1/ns/instance/list after all servers([XXX:8848]) tried: ErrCode:503, ErrMsg:server is DOWNnow, detailed error message: Optional[Distro protocol is not initialized]at com.alibaba.nacos.client.naming.net.NamingProxy.reqApi(NamingProxy.java:552)at com.alibaba.nacos.client.naming.net.NamingProxy.reqApi(NamingProxy.java:491)

查看 nacos 管理端

在这里插入图片描述
控制台找不到问题
最后到 nacos GitHub 的 issue 中取经,发现大伙儿的 docker 配置都加了 98489849 端口,而我并没有加。


解决方案:

docker 配置文件 添加 98489849 端口的映射。

docker run -d --name nacos-cluster \--env NACOS_SERVERS=xx.1xx.92.22x,xx.1xx.92.224,xx.xx2.2xx.xx6 \--env NACOS_SERVER_IP=xx.1xx.92.224 \-e TZ=Asia/Shanghai \-p 8848:8848 \-p 7848:7848 \-p 9848:9848 \-p 9849:9849 \--env SPRING_DATASOURCE_PLATFORM=mysql \--env MYSQL_SERVICE_HOST=XXXXX \--env MYSQL_SERVICE_PORT=XXXX \--env MYSQL_SERVICE_DB_NAME=nacos \--env MYSQL_SERVICE_USER=XXXX \--env MYSQL_SERVICE_PASSWORD=XXXXXXXX \--env MYSQL_DATABASE_NUM=1 \nacos/nacos-server:v2.0.4

  • 集群模式,几个节点都要加上
  • 并且,注意防火墙要放开限制
  相关解决方案