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/

 

 

  

 

posted @ 2018-04-02 17:52  Adina~  阅读(93092)  评论(1编辑  收藏  举报