:
今天把nacos部署到linux服务器上远程连接配置中心时出现如下报错:
Caused by: com.alibaba.nacos.api.exception.NacosException: Client not connected, current status:STARTING
首先去官网查看版本有无问题:
我的版本对应第二条,没有问题,
然后看了一下大家怎么解决的,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: 8080spring: 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: 8080spring: 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: 8080spring: 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}