SpringCloud问题解决:spring-cloud-eureka启动出错Cannot execute request on any known server

Posted Zoe`

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud问题解决:spring-cloud-eureka启动出错Cannot execute request on any known server相关的知识,希望对你有一定的参考价值。

场景:

  在启动eureka server时,出现以下错误: 

com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect

com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server

问题解决:

  查看配置文件application.yml,发现register-with-eureka 属性值设置为true了,将其改为false,重启eureka服务,启动成功,问题解决

原因:

  在默认设置下,eureka服务注册中心也会将自己作为客户端来尝试注册它自己,所以我们需要禁用它的客户端注册行为:

eureka:
  instance:
    hostname: localhost
  client:
    register-with-eureka: false
    fetch-registry: false

总结:

  若是未禁用eureka服务注册中心的客户端注册行为,需提供service-url注册中心地址:

server:
  port: 8091
eureka:
  instance:
    hostname: localhost
  client:
    register-with-eureka: true
    fetch-registry: false
   #注册中心地址
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

 

 

  

 


以上是关于SpringCloud问题解决:spring-cloud-eureka启动出错Cannot execute request on any known server的主要内容,如果未能解决你的问题,请参考以下文章

Dalston.RELEASE版本 Eureka 升级为Nacos

springcloud openFeign 请求超时问题解决

关于解决springcloud 创建bean失败的问题

SpringCloud上传文件中文乱码解决方案

springcloud gateway解决跨域问题

SpringCloud-2.0:(11. 服务降级 - Hystrix - 解决问题)