一、截取控制台打印的报错部分的代码:
2019-12-24 19:06:22.196 INFO 9524 --- [ main] com.netflix.discovery.DiscoveryClient : Getting all instance registry info from the eureka server
2019-12-24 19:06:23.263 ERROR 9524 --- [ main] c.n.d.s.t.d.RedirectingEurekaHttpClient : Request execution error. endpoint=DefaultEndpoint{ serviceUrl='http://127.0.0.1:10010/eureka/}
com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect
at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:187) ~[jersey-apache-client4-1.19.1.jar:1.19.1]
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_121]
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85) ~[na:1.8.0_121]
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_121]
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_121]
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0_121]
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) ~[na:1.8.0_121]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_121]
at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_121]
at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:121) ~[httpclient-4.5.9.jar:4.5.9]
2019-12-24 19:06:23.273 ERROR 9524 --- [ main] com.netflix.discovery.DiscoveryClient : DiscoveryClient_EUREKASERVER1/PC-20160716KEKS:EurekaServer1:10010 - was unable to refresh its cache! status = Cannot execute request on any known server
二、分析异常:
三、查看eureka服务端配置文件application.yml:
#配置注册中心1的端口,可以随意设置,不能跟其他端口冲突
server:
port: 10010
#配置注册中心1的名字,可以随意起
spring:
application:
#通过查看注册中心查看有哪些模块注册进了这个注册中心
name: EurekaServer1
eureka:
client:
service-url:
#配置访问路径
defaultZone: http://127.0.0.1:10010/eureka/
#允许注册中心注册自己,分布式web模块、网关、
#包括注册中心自己也都要注册(到注册中心)进来,如果注册中心多可以相互注册
register-with-eureka: false
四、重新配置服务端配置文件:
#配置注册中心1的端口,可以随意设置,不能跟其他端口冲突
server:
port: 10010
#配置注册中心1的名字,可以随意起
spring:
application:
#通过查看注册中心查看有哪些模块注册进了这个注册中心
name: hbuy-eureka
eureka:
instance:
hostname: 127.0.0.1
client:
# 是否向eureka注册自身服务
register-with-eureka: false
#是否检索服务
fetch-registry: false
#服务注册地址
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
1、name: hbuy-eureka是我自己配置成工程名,没有任何影响。可以自己随便设置
2、在服务端register-with-eureka: false和fetch-registry: false都设置成false,不用自己注册自己,否则汇报错404和204.
3、检索地址就按照上面的写。
4、最大坑点,eureka.client.serviceUrl.defaultZone= http://localhost:8761/eureka/。这段代码中的url中的eureke不能换成任何其他的(客户端和服务端都不能换,即使换成一样的也不行)