SpringBoot连接Nacos集群报400问题及完美解决方法

网友投稿 2047 2022-08-29


SpringBoot连接Nacos集群报400问题及完美解决方法

问题描述

搭建一个Nacos集群,使用 SpringBoot 程序连接 Nacos 集群,在启动的时候报异常,程序启动失败,而后程序假死。详细控制台日志信息如下:

failed to req API:/nacos/v1/ns/instance after all servers([192.168.1.169:8848]) tried: ErrCode:400, ErrMsg:

This application has no explicit mapping for /error, so you are seeing this as a fallback.

环境

NacosServer 版本:2.0.3NacosServer集群部署方式:在windows11下启动三个实例,分别运行在8848,8858,8868端口上面,三个实例连接同一个mysql数据库NacosClient为 SpringBoot 程序,使用 SpringInitializr 创建,未引入其他无关依赖SpringBoot版本:2.5.3SpringCloud版本:2020.0.3SpringCloudAlibaba版本:2021.1笔记本:酷睿I5-11代,RAM-16G

集群配置

cluster.conf

127.0.0.1:8848127.0.0.1:8858127.0.0.1:8868

解决办法

删除data文件夹重启

Nacos 非常占资源,Windows11 下,启动就能把CPU占到56%(酷睿I5-11代),启动成功之后占了1.7G的内存。此解决方法是百度出来的,首先停止 SpringBoot 程序、Nacos集群;然后删除三个实例下面的 data 文件夹并重新启动集群;最后重新启动 SpringBoot。此时可以正常注册到 Nacos 集群中, 每一个实例中的服务列表中都有该 SpringBoot 服务。

修改cluster.conf文件

本来以为上述方法已经可以解决此问题,毕竟【百度】出来的!可是过了一会之后又报400问题,中间(应该)没有特别特殊的操作,无非(可能)就是重启 SpringBoot 服务,修改 Nacos 的 application.properties 文件和重启集群等等。

重新排查了一遍,发现NacosWebUI中的 集群管理--->节点列表 中多了一个实例,变成了四个,重新查看了集群 cluster.conf, 发现每一个实例此配置文件中都多了一行【192.168.1.169:8858】。这行(好像)不是我加的,但是不管怎么说,这行都是不必须的,所以我决定删除这行。首先停止 SpringBoot 程序、Nacos集群;然后删除三个实例下面的 data 文件夹,删除 cluster.conf 文件中无故(手残添加)增加的那行,并重新启动集群;最后重新启动 SpringBoot。此时可以正常注册到 Nacos 集群中, 每一个实例中的服务列表中都有该 SpringBoot 服务。

原因&原理

//todo


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python中接口设计的相关包(zope.interface)
下一篇:Python把csv数据写入list和字典类型的变量脚本(python list写入csv)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~