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

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 服务注册报错server is DOWNnow, detailed error message: Optional[Distro protocol is not initialized]_第1张图片
控制台找不到问题
最后到 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

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

你可能感兴趣的:(Java,spring,could,java)