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 配置都加了 9848
和 9849
端口,而我并没有加。
解决方案:
docker 配置文件 添加 9848
和 9849
端口的映射。
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
- 集群模式,几个节点都要加上
- 并且,注意防火墙要放开限制