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

本文详细解析了Eureka服务注册中心的配置问题,特别是关于register-with-eureka属性的设置。当此属性被错误地设为true时,会导致Eureka服务启动失败,表现为连接拒绝错误。文章提供了具体的解决方案,即修改配置文件application.yml,将register-with-eureka属性设为false,并重启服务即可解决问题。此外,还解释了为何需要禁用Eureka服务的自我注册行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

场景:

在启动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/
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值