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

 更新时间:2022年02月09日 08:36:41   作者:Naylor  
这篇文章主要介绍了解决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:<html><body><h1>Whitelabel Error Page</h1><p>This application has no explicit mapping for /error, so you are seeing this as a fallback.</p><div id='created'>Tue Feb 08 21:19:48 CST 2022</div><div>There was an unexpected error (type=Bad Request, status=400).</div><div>receive invalid redirect request from peer 127.0.0.1</div></body></html>

环境

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

集群配置

cluster.conf

127.0.0.1:8848
127.0.0.1:8858
127.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

到此这篇关于解决SpringBoot连接Nacos集群报400问题的文章就介绍到这了,更多相关SpringBoot连接Nacos集群内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 将java中的 string 类型转成 数组案例

    将java中的 string 类型转成 数组案例

    这篇文章主要介绍了将java中的 string 类型转成 数组案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • CMD运行Intellij Idea编译后的class文件操作

    CMD运行Intellij Idea编译后的class文件操作

    这篇文章主要介绍了CMD运行Intellij Idea编译后的class文件操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • 使用Java实现文件夹的遍历操作指南

    使用Java实现文件夹的遍历操作指南

    网上大多采用java递归的方式遍历文件夹下的文件,这里我不太喜欢递归的风格,这篇文章主要给大家介绍了关于使用Java实现文件夹的遍历操作的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • kotlin基础教程之类和继承

    kotlin基础教程之类和继承

    这篇文章主要介绍了kotlin基础教程之类和继承的相关资料,需要的朋友可以参考下
    2017-05-05
  • SpringCloud的Config配置中心详解

    SpringCloud的Config配置中心详解

    这篇文章主要介绍了SpringCloud的Config配置中心详解,SpringCloud Config为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置,需要的朋友可以参考下
    2023-07-07
  • Java利用Zxing生成二维码的简单实例

    Java利用Zxing生成二维码的简单实例

    下面小编就为大家带来一篇Java利用Zxing生成二维码的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • Spring多定时任务@Scheduled执行阻塞问题解决

    Spring多定时任务@Scheduled执行阻塞问题解决

    这篇文章主要介绍了Spring多定时任务@Scheduled执行阻塞问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • 一篇文章带你了解Java SpringBoot四大核心组件

    一篇文章带你了解Java SpringBoot四大核心组件

    这篇文章主要介绍了SpringBoot四大核心组件的使用小结,详细的介绍了这方面的知识,有兴趣的可以了解一下,希望能够给你带来帮助
    2021-09-09
  • SpringCloud Gateway使用redis实现动态路由的方法

    SpringCloud Gateway使用redis实现动态路由的方法

    这篇文章主要介绍了SpringCloud Gateway使用redis实现动态路由的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • 记一次用IDEA打开java项目后不能运行的解决方法

    记一次用IDEA打开java项目后不能运行的解决方法

    这篇文章主要介绍了记一次用IDEA打开java项目后不能运行的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03

最新评论