nacos 2.x 集群搭建后服务注册失败
2022年3月20日大约 1 分钟
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
- 集群模式,几个节点都要加上
- 并且,注意防火墙要放开限制