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

时间:2019-07-04 20:57:01

标签: spring-boot spring-cloud netflix-eureka spring-cloud-netflix

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

  

INFO 10408 --- [freshExecutor-0] com.netflix.discovery.DiscoveryClient   :从eureka服务器获取所有实例注册表信息错误   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:连接被拒绝:在连接   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

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

3 个答案:

答案 0 :(得分:1)

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.

答案 1 :(得分:1)

即使在将registerWithEureka和fetchRegistry添加为false之后,它仍指向副本URL的8761。

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

此问题的根本原因不是实际上将自注册/搜索注册表属性设置为false,而是修改/指定了正确的serviceUrl属性。

在application.properties中添加了以下几行,现在我的Eureka服务器没有指向注册副本URL的默认Eureka端口8761。

eureka.client.serviceUrl.defaultZone: http://localhost:${server.port}/eureka/

答案 2 :(得分:0)

请如下配置eureka服务器。 eureka服务器也将充当eureka客户端。因此,服务器尝试将其自身注册为客户端,并寻找默认端口8761。

server:
  port: 9000

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