SummerBird
2023-11-24
后端 Java 微服务项目启动出现com.alibaba.nacos.api.exception.NacosException: Client not connected, current status:STARTING异常: 1. 问题起因: 由于本人的服务器内存不足,而此时我手里有两台服务器,一台2c2g(服务器A)和一台2c4g(服务器B),此时我的项目打算部署在服务器A上,Nacos在服务器B上,当我在本地idea运行项目时,报了 com.alibaba.nacos.api.exception.NacosException: Client not connected, current status:STARTING异常 异常,连接不上服务器上的Nacos。 2. 问题排查 大致思路是:Nacos是否成功启动?云防火墙和系统防火墙端口是否开启?需要开放哪些端口? 2.1. Nacos是否成功启动?在服务器上使用如下命令 `ps -ef | grep nacos` ,有输出结果就表示nacos已经开启了。 2.2. 云防火墙和系统防火墙端口是否开启?需要开放哪些端口? 首先,要搞清楚需要开放哪些端口。如果是Nacos 1.X版本,需要开启8848端口即可。如果是Nacos 2.X版本,需要开启9848端口(默认)。 参考官网:https://nacos.io/zh-cn/docs/v2/upgrading/2.0.0-compatibility.html ==> 图1和图2 3. 问题深究 首先,我使用的是Nacos2.X版本,通过百度和官网,将所有可能的端口都开放了(8848、7848、9848、9849....),问题一下子就解决了。ok,到此为止就结束了。咳咳,还是再多说一嘴吧。 核心代码在com.alibaba.nacos.common.remote.client.RpcClient的 resolveServerInfo() 和 connectToServer() 方法中,见图3和图4. (我报错的原因在于,我云服务器的9848端口没有开放,故连接不上服务器的Nacos)[困] 如果此时防火墙没有开放该 port ,则response=null,之后还会继续进行重新连接,才会后之后的报错:Client not connected, current status:STARTING。 后来我简单尝试了一下,看看能不能修改grpc端口9848,比如重新设置nacos.server.grpc.port.offset并修改startup.sh脚本,观察了一下配置文件,没有找到可行办法,那就先到此为止吧....
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP