nacos配置中心提示com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException: UNAVAILABLE: io exceptio

SpringCloud远程连接NACOS报错, 报错显示连接本地localhost:8848

1、问题描述

在一次项目架构中,使用Spring Cloud Alibaba微服务架构,服务发现和配置中心使用的是阿里巴巴开源的组件nacos,nacos-server。一开始使用本地localhost坏境运行一切正常,开发完成后迁移至dev测试坏境中,导致项目报错:ava.net.ConnectException: no available server,原因是它一直连接localhost:8848。
控制台输出如下截图:
nacos配置中心提示com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException: UNAVAILABLE: io exceptio_第1张图片因公共pom依赖引入:spring-cloud-starter-alibaba-nacos-config 和
spring-cloud-starter-alibaba-nacos-discovery ,在本地开发中测试方便配注册发现等项目配置都配置在application.yml,没有创建中心配置文件 bootstrap.properties,springboot自动化配置默认是localhost:8848,所以本地环境没有问题。

2、 解决方法

  1. 去除没用的依赖(如果没使用nacos-config 删除spring-cloud-starter-alibaba-nacos-config 依赖 )
  2. 添加配置文件
    application.properties 注册发现配置
spring.cloud.nacos.discovery.server-addr=xxx.xxx.xxx.xxx:8848
spring.application.name=服务名

   
     
     
     
     

bootstrap.properties nacos中心配置

#nacos config
spring.cloud.nacos.config.server-addr=xxx.xxx.xxx.xxx:8848
spring.application.name=服务名
核心问题是 bootstrap.yml 内的nacos 和 application.yml 配置文件内的内容不一致 必须 bootstrap.yml和application.yml 都要配置nacos信息 不然会默认读本地 报错信息
 Server check fail, please check server localhost ,port 9848 is available , error ={}
java.util.concurrent.ExecutionException: com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
Connection refused: localhost/0:0:0:0:0:0:0:1:9848
同时要注意 客户端nacos和服务端 nacos版本问题 最好都是最新版本

   
     
     
     
     

你可能感兴趣的:(SpringCloud,spring,cloud,spring,boot,java)