在使用Spring Cloud Alibaba启动Nacos时报错Client not connected,current status:STARTING,在网上找了几篇文章,方法也是如繁花似锦,千奇百怪。也按照那些方法走了一遍,活活的当了一次大冤种,当然也可能是每个人都用自己的方法解决了,但是不适用我的问题。这里我总结了下,大概做了以下几个步骤。
一:开放端口
给出的原因是:Nacos2.0版本相比1.X新增了gRPC的通信方式,导致了一个问题 你需要再服务器防火墙多开两个端口 例如你部署的端口是8848 那还需要再开9848和9849来支持gRPC的端口。
| 端口 | 与主端口偏移量 | 描述 |
| 9848 | 1000 | 客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求 |
| 9849 | 1001 | 服务端gRPC请求服务端端口,用于服务间同步等 |
命令如下:
添加防火墙开放端口
firewall-cmd --zone=public --add-port=9848/tcp --permanent
firewall-cmd --zone=public --add-port=9849/tcp --permanent
防火墙重新加载配置文件
firewall-cmd --reload
查看防火墙开发的端口
firewall-cmd --zone=public --list-ports

因为我自己用的是阿里云的服务器,所以也尝试添加了对应的安全组

二:检查Nacos客户端和Nacos服务端的版本是否一致
我第一次使用的版本情况是
| Spring Cloud Alibaba | 2.2.10-RC1 |
| Spring Boot | 2.3.12.RELEASE |
| Nacos客户端 | 2.2.0 |
| Nacos服务端 | 2.0.3 |
官网给出的各版本和组件的搭配关系:版本说明 · alibaba/spring-cloud-alibaba Wiki · GitHub
所以升级了我服务端的Nacos版本:

三:修改SpringCloudAlibaba的版本(解决,非集群版本)
| SpringCloudAlibaba | 2.2.6.RELEASE |
| SpringBoot | 2.3.12.RELEASE |
| Nacos客户端 | 1.4.2 |
| Naocs服务端 | 2.2.0 |
<spring-boot.version>2.3.12.RELEASE</spring-boot.version>
<spring-cloud-alibaba.version>2.2.6.RELEASE</spring-cloud-alibaba.version><dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

本文讲述了作者在使用SpringCloudAlibaba启动Nacos时遇到的错误,涉及端口开放、版本不匹配和依赖调整,详细步骤包括开放gRPC端口、确保客户端和服务端版本一致以及调整SpringCloudAlibaba版本。

5268

被折叠的 条评论
为什么被折叠?



