Spring Eureka寻找默认端口8761而不是自定义端口。

3

我有一个Spring Boot Eureka服务器应用程序,它配置为在端口5000上运行,而不是默认的8761端口。但是当我运行SBA时,控制台会出现一些与Java连接拒绝相关的错误,同时监听localhost:8761。

INFO 10408 --- [freshExecutor-0] com.netflix.discovery.DiscoveryClient : 从eureka服务器获取所有实例注册表信息 ERROR 10408 --- [tbeatExecutor-0] c.n.d.s.t.d.RedirectingEurekaHttpClient : 请求执行错误。 endpoint = DefaultEndpoint {serviceUrl ='http://localhost:8761/eureka/}

com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: 连接被拒绝: connect at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:187) ~[jersey-apache-client4-1.19.1.jar:1.19.1]

后来,当我启动其他微服务时,我可以看到它们正确地在运行在端口5000上的 Eureka 中进行了注册。但是为什么应用程序在启动Eureka服务器时会忽略配置呢?

此外,正如嵌入的图片所示,服务器正在寻找在8761中注册且不可用的副本。

Registered and Unavailable replicas look up at default port

非常感谢任何对此的解释。


请确认客户信息。 - spencergibb
我在这个项目中缺少将自我搜索/注册与Eureka属性设置为false。下面提供了正确的答案。 - Spear A1
3个回答

12

即使将registerWithEureka和fetchRegistry设为false,它仍然指向8761作为副本URL。

eureka.client.registerWithEureka = false 
eureka.client.fetchRegistry = false
问题的根本原因实际上不在于将自注册/搜索注册表属性设置为false,而是修改/指定正确的serviceUrl属性。
在application.properties中添加以下行,现在我的Eureka服务器不会将已注册副本url指向默认的8761端口。
eureka.client.serviceUrl.defaultZone: http://localhost:${server.port}/eureka/

3
Default port for eureka server is 8761 but you can override it using server.port property in application.properties file or application.yml file. 

For e.g.
(application.properties)
   server.port=5000 
(application.yml)
   server:   
    port: 8761

One more thing, you need to specify following properties too to avoid auto registration of eureka.

**application.properties file:-**

eureka.client.registerWithEureka = false
eureka.client.fetchRegistry = false

**application.yml file :-** 

eureka:
   client:
      registerWithEureka: false
      fetchRegistry: false

It should start your application on port 5000. If you still face any issues, just show your properties or yml file code here.

3
请按照以下方式配置Eureka服务器。Eureka服务器也将充当Eureka客户端。因此,服务器会尝试将自身注册为客户端,并查找默认端口8761。
server:
  port: 9000

eureka:
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://localhost:9000/eureka


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接