我有一个配置为在端口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中已注册和不可用的副本。
非常感谢对此的任何解释。
答案 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