远程连接nacos配置中心报错:Client not connected, current status:STARTING
作者:mmseoamin日期:2023-12-18

:

今天把nacos部署到linux服务器上远程连接配置中心时出现如下报错:

Caused by: com.alibaba.nacos.api.exception.NacosException: Client not connected, current status:STARTING

远程连接nacos配置中心报错:Client not connected, current status:STARTING,第1张

首先去官网查看版本有无问题:

远程连接nacos配置中心报错:Client not connected, current status:STARTING,nacos,第2张

我的版本对应第二条,没有问题,

然后看了一下大家怎么解决的,Nacos2.0版本新增了gRPC的通信方式,需要再多开放俩个端口:

(与主端口偏移量1000,1001)

9948: 8848+1000

9949: 8848+1001

开放之后还是同样的报错,我再往报错信息上面翻找发现这样的俩条信息:

com.alibaba.nacos.common.remote.client : Fail to connect server, after trying 2 times, last try server is {serverIp = '127.0.0.1’, server main port = 8848}, error = unknown

c.a.c.n.registry.NacosServiceRegistry : nacos registry, student-consumer register failed…NacosRegistration{nacosDiscoveryProperties=NacosDiscoveryProperties{serverAddr='127.0.0.1:8848’, 此处省略1000字}},

明显可以看到nacos的地址居然是本机地址,我明明配置了远程地址的啊,然后看一下yml文件,好家伙只配置了配置中心的地址,没有配置服务注册中心的地址,如下:

server:
  port: 8080
spring:
  application:
    name: student-consumer
  cloud:
    nacos:
      config:
        server-addr: xxx.xxx.xxx.xx:8848
        group: DEFAULT_GROUP
        #指定文件名,没有则默认${spring.application.name}
        #指定读取配置中心文件后缀
        file-extension: yml
#读取配置中心文件配置
  config:
    import:
      - optional:nacos:${spring.application.name}.${spring.cloud.nacos.config.file-extension}

正确的写法应该是:

server:
  port: 8080
spring:
  application:
    name: student-consumer
  cloud:
    nacos:
      discovery:
        server-addr: xxx.xxx.xxx.xx:8848
      config:
        server-addr: xxx.xxx.xxx.xx:8848
        group: DEFAULT_GROUP
        #指定文件名,没有则默认${spring.application.name}
        #指定读取配置中心文件后缀
        file-extension: yml
#读取配置中心文件配置
  config:
    import:
      - optional:nacos:${spring.application.name}.${spring.cloud.nacos.config.file-extension}

或:

server:
  port: 8080
spring:
  application:
    name: student-consumer
  cloud:
    nacos:
      server-addr: xxx.xxx.xxx.xx:8848
      config:
        group: DEFAULT_GROUP
        #指定文件名,没有则默认${spring.application.name}
        #指定读取配置中心文件后缀
        file-extension: yml
      
        
  #读取配置中心文件配置
  config:
    import:
      - optional:nacos:${spring.application.name}.${spring.cloud.nacos.config.file-extension}