本文介绍如何解决使用Nacos-sdk连接MSE Nacos出现The maximum number of tolerable server reconnection报错的问题。
问题现象
使用Nacos-sdk连接MSE时出现The maximum number of tolerable server reconnection报错。
可能原因
Nacos的配置中心的客户端尝试连接服务端失败。
使用了公网连接Nacos,但由于网络原因导致客户端无法连接MSE服务端,使用Telnet或者Ping工具检查网络连通性。
使用了内网连接Nacos,但客户端和MSE Nacos没有处于同一个VPC内。
MSE Nacos服务端正在重启中。
解决方案
首先检查您是否仅使用了Nacos的服务发现功能,没有使用配置中心功能。
如果没有使用配置中心功能,请将如下依赖删除。
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency>
如果已使用配置中心功能,请检查
${user_home}/logs/nacos/config.log
判断是否为网络问题。说明Nacos-Client的日志,一般在节点的
${user.home}/logs/nacos/config.log
下 ,${user.home}
为启动应用服务进程的系统用户的根目录。如果您使用的是Spring Cloud,部分低版本Spring Cloud会覆盖Nacos-Client的日志配置,导致日志输出在应用服务的日志中。更多信息,请参见MSE Nacos SDK的应用和Nacos SDK限制使用版本。
如果出现
read time out
、connected timeout
等超时报错,请参见如何解决MSE Nacos连接超时问题?。如果出现
UnknownHostException
、Unable to resolve host
等域名无法解析报错,请参见如何解决MSE Nacos实例域名无法解析的问题?。
如果通过上述步骤还未解决您的问题,请判断MSE Nacos是否正在重启。
登录MSE注册中心控制台。
在左侧导航栏,选择注册配置中心 > 实例列表。单击目标实例名称。
在左侧导航栏选择基础信息,然后在实例节点区域查看各节点的状态是否为运行中。
如果您没有做过重启操作,但发现有非正常节点,请耐心等待2~3min,如果长时间仍未恢复并影响业务正常运行,请提工单处理。