SpringCloud填坑⽇志(2)——多个EurekaServer节点启动报错
问题描述:
建⽴了⼀个microrvice-discovery-eureka-ha的项⽬,实现Eureka运⾏多个实例并相互注册的⽅式实现⾼可⽤部署,配置⽂件
spring:
application:
name: microrvice-discovery-eureka-ha
---
spring:
# 指定profile=peer1
profiles: peer1
rver:
port: 8761
eureka:
instance:
# 指定当profile=peer1时,主机名是peer1
hostname: peer1
client:
rviceUrl:thereafter
# 将⾃⼰注册到peer2这个Eureka上⾯去
defaultZone: peer2:8762/eureka/
---
spring:
profiles: peer2
rver:
port: 8762
eureka:
instance:
hostname: peer2
client:
rviceUrl:
defaultZone: peer1:8761/eureka/
打包项⽬后,在项⽬对应的target⽂件夹使⽤以下命令启动两个Eureka Server节点:
java -jar microrvice-discovery-eureka-ha-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
java -jar microrvice-discovery-eureka-ha-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2
报错摘要:
There was a problem with the instance info replicator
Cannot execute request on any known rver eureka rver
两个节点的详细错误:
2018-12-11 22:25:40.148 WARN 18100 --- [freshExecutor-0] c.n.d.RetryableEurekaHttpClient : Request execution failed with message: Co nnectException: Connection refud: connect
2018-12-11 22:25:40.149 ERROR 18100 --- [freshExecutor-0] flix.discovery.DiscoveryClient : DiscoveryClient_MICROSERVICE-DISCOVERY-EU REKA-HA/:microrvice-discovery-eureka-ha:8761 - was unable to refresh its cache! status = Cannot execute request on any kno wn rver
steel door
flix.ansport.ute(RetryableEurekaHttpClient.java:111) ~[eureka-client-1.7.0.jar!/ :1.7.0]
flix.ansport.Applications(EurekaHttpClientDecorator.java:134) ~[eureka-client-1 .7.0.jar!/:1.7.0]
flix.ansport.decorator.ute(EurekaHttpClientDecorator.java:137) ~[eureka-client-1.7.0.j ar!/:1.7.0]
flix.ansport.ute(SessionedEurekaHttpClient.java:77) ~[eureka-client-1.7.0.jar! /:1.7.0]
flix.ansport.Applications(EurekaHttpClientDecorator.java:134) ~[eureka-client-1
.7.0.jar!/:1.7.0]
flix.AndStoreFullRegistry(DiscoveryClient.java:1022) [eureka-client-1.7.0.jar!/:1.7.0]
flix.discovery.DiscoveryClient.fetchRegistry(DiscoveryClient.java:936) [eureka-client-1.7.0.jar!/:1.7.0]
flix.freshRegistry(DiscoveryClient.java:1460) [eureka-client-1.7.0.jar!/:1.7.0]
flix.discovery.DiscoveryClient$CacheRefreshThread.run(DiscoveryClient.java:1427) [eureka-client-1.7.0.jar!/:1.7.0]
at urrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.8.0_191]
at urrent.FutureTask.run(Unknown Source) [na:1.8.0_191]
at urrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_191]
at urrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_191]
at java.lang.Thread.run(Unknown Source) [na:1.8.0_191]
2018-12-11 22:25:41.214 INFO 18100 --- [nfoReplicator-0] flix.discovery.DiscoveryClient : DiscoveryClient_MICROSERVICE-DISCOVERY-EURE KA-HA/:microrvice-discovery-eureka-ha:8761:
2018-12-11 22:25:42.223 ERROR 18100 --- [nfoReplicator-0] c.n.d.RedirectingEurekaHttpClient : Request execution error
com.sun.jery.api.client.ClientHandlerException: ConnectException: Connection refud: connectanthony
at com.sun.jery.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:187) ~[jery-apache-client4-1.19.1.jar!/:1.19.1] at com.sun.jery.api.client.filter.GZIPContentEncodingFilter.handle(GZIPContentEncodingFilter.java:123) ~
[jery-client-1.19.1.jar!/:1.19.1]
flix.discovery.EurekaIdentityHeaderFilter.handle(EurekaIdentityHeaderFilter.java:27) ~[eureka-client-1.7.0.jar!/:1.7.0]
at com.sun.jery.api.client.Client.handle(Client.java:652) ~[jery-client-1.19.1.jar!/:1.19.1]
at com.sun.jery.api.client.WebResource.handle(WebResource.java:682) ~[jery-client-1.19.1.jar!/:1.19.1]
at com.sun.jery.api.client.WebResource.access$200(WebResource.java:74) ~[jery-client-1.19.1.jar!/:1.19.1]
at com.sun.jery.api.client.WebResource$Builder.post(WebResource.java:570) ~[jery-client-1.19.1.jar!/:1.19.1]
flix.ansport.ister(AbstractJeryEurekaHttpClient.java:56) ~[eureka-client-1.7.
0.jar!/:1.7.0]
flix.ansport.decorator.ute(EurekaHttpClientDecorator.java:59) [eureka-client-1.7.0.jar! /:1.7.0]
flix.ansport.ute(MetricsCollectingEurekaHttpClient.java:73) ~[eureka-cli ent-1.7.0.jar!/:1.7.0]
flix.ansport.ister(EurekaHttpClientDecorator.java:56) [eureka-client-1.7.0.jar!/:1 .7.0]
flix.ansport.decorator.ute(EurekaHttpClientDecorator.java:59) [eureka-client-1.7.0.jar! /:1.7.0]
flix.ansport.uteOnNewServer(RedirectingEurekaHttpClient.java:118) ~[eurek a-client-1.7.0.jar!/:1.7.0]
flix.ansport.ute(RedirectingEurekaHttpClient.java:79) ~[eureka-client-1.7.0.ja r!/:1.7.0]
wholesaleflix.ansport.ister(EurekaHttpClientDecorator.java:56) [eureka-client-1.7.0.jar!/:1 .7.0]
flix.ansport.decorator.ute(EurekaHttpClientDecorator.java:59) [eureka-client-1.7.0.jar! /:1.7.0]
flix.ansport.ute(RetryableEurekaHttpClient.java:119) [eureka-client-1.7.0.jar!/: 1.7.0]
flix.ansport.ister(EurekaHttpClientDecorator.java:56) [eureka-client-1.7.0.jar!/:1 .7.0]
flix.ansport.decorator.ute(EurekaHttpClientDecorator.java:59) [eureka-client-1.7.0.jar! /:1.7.0]
flix.ansport.ute(SessionedEurekaHttpClient.java:77) [eureka-client-1.7.0.jar!/: 1.7.0]
flix.ansport.ister(EurekaHttpClientDecorator.java:56) [eureka-client-1.7.0.jar!/:1 .7.0]
flix.ister(DiscoveryClient.java:807) [eureka-client-1.7.0.jar!/:1.7.0]
flix.discovery.InstanceInfoReplicator.run(InstanceInfoReplicator.java:104) [eureka-client-1.7.0.jar!/:1.7.0]
at urrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.8.0_191]
at urrent.FutureTask.run(Unknown Source) [na:1.8.0_191]
at urrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source) [na:1.8.0_191]
at urrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [na:1.8.0_191]
at urrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_191]
at urrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_191]
at java.lang.Thread.run(Unknown Source) [na:1.8.0_191]
Caud by: ConnectException: Connection refud: connect
DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_191]
DualStackPlainSocketImpl.socketConnect(Unknown Source) ~[na:1.8.0_191]
AbstractPlainSocketImpl.doConnect(Unknown Source) ~[na:1.8.0_191]
竞争对手英语
tToAddress(Unknown Source) ~[na:1.8.0_191]
t(Unknown Source) ~[na:1.8.0_191]
t(Unknown Source) ~[na:1.8.0_191]
t(Unknown Source) ~[na:1.8.0_191]
t(Unknown Source) ~[na:1.8.0_191]
at org.tSocket(PlainSocketFactory.java:121) ~[httpclient-4.5.3.jar!/:4.5.3]
at org.apache.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180) ~[httpclient-4.5.3.jar!/:4.5. 3]
at org.apache.AbstractPoolEntry.open(AbstractPoolEntry.java:144) ~[httpclient-4.5.3.jar!/:4.5.3]
at org.apache.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:134) ~[httpclient-4.5.3.jar!/:4.5.3]
at org.apache.http.impl.Connect(DefaultRequestDirector.java:610) ~[httpclient-4.5.3.jar!/:4.5.3]
at org.apache.http.impl.ute(DefaultRequestDirector.java:445) ~[httpclient-4.5.3.jar!/:4.5.3]
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835) ~[httpclient-4.5.3.jar!/:4.5.3]
at org.apache.http.impl.ute(CloableHttpClient.java:118) ~[httpclient-4.5.3.jar!/:4.5.3]
at org.apache.http.impl.ute(CloableHttpClient.java:56) ~[httpclient-4.5.3.jar!/:4.5.3]
at com.sun.jery.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:
173) ~[jery-apache-client4-1.19.1.jar!/:1.19.1] ... 29 common frames omitted
2018-12-11 22:59:58.523 WARN 21072 --- [nfoReplicator-0] c.n.discovery.InstanceInfoReplicator : There was a problem with the instance info replicator
flix.ansport.ute(RetryableEurekaHttpClient.java:111) ~[eureka-client-1.7.0.jar!/ :1.7.0]
flix.ansport.ister(EurekaHttpClientDecorator.java:56) ~[eureka-client-1.7.0.jar!/: 1.7.0]
flix.ansport.decorator.ute(EurekaHttpClientDecorator.java:59) ~[eureka-client-1.7.0.ja r!/:1.7.0]
flix.ansport.ute(SessionedEurekaHttpClient.java:77) ~[eureka-client-1.7.0.jar! /:1.7.0]
flix.ansport.ister(EurekaHttpClientDecorator.java:56) ~[eureka-client-1.7.0.jar!/: 1.7.0]
flix.ister(DiscoveryClient.java:807) ~[eureka-client-1.7.0.jar!/:1.7.0]
flix.discovery.InstanceInfoReplicator.run(InstanceInfoReplicator.java:104) ~[eureka-client-1.7.0.jar!/:1.7.0]
at urrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.8.0_191]
at urrent.FutureTask.run(Unknown Source) [na:1.8.0_191]
at urrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source) [na:1.8.0_191]
at urrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [na:1.8.0_191]
regret的用法at urrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_191]
at urrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_191]
at java.lang.Thread.run(Unknown Source) [na:1.8.0_191]
2018-12-11 23:00:09.952 ERROR 21072 --- [freshExecutor-0] c.n.d.RedirectingEurekaHttpClient : Request execution error
com.sun.jery.api.client.ClientHandlerException: SocketTimeoutException: Read timed out
at com.sun.jery.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:187) ~[jery-apache-client4-1.19.1.jar!/:1.19.1] at com.sun.jery.api.client.filter.GZIPContentEncodingFilter.handle(GZIPContentEncodingFilter.java:123) ~[jery-client-1.19.1.jar!/:1.19.1]
flix.discovery.EurekaIdentityHeaderFilter.handle(EurekaIdentityHeaderFilter.java:27) ~[eureka-client-1.7.0.jar!/:1.7.0]ntr是什么意思的
at com.sun.jery.api.client.Client.handle(Client.java:652) ~[jery-client-1.19.1.jar!/:1.19.1]
at com.sun.jery.api.client.WebResource.handle(WebResource.java:682) ~[jery-client-1.19.1.jar!/:1.19.1]
at com.sun.jery.api.client.WebResource.access$200(WebResource.java:74) ~[jery-client-1.19.1.jar!/:1.19.1]
at com.sun.jery.api.client.(WebResource.java:509) ~[jery-client-1.19.1.jar!/:1.19.1]
flix.ansport.ApplicationsInternal(AbstractJeryEurekaHttpClient.java:194) ~[e ureka-client-1.7.0.jar!/:1.7.0]
flix.ansport.Delta(AbstractJeryEurekaHttpClient.java:170) ~
[eureka-client-1.
7.0.jar!/:1.7.0]
flix.ansport.decorator.ute(EurekaHttpClientDecorator.java:152) [eureka-client-1.7.0.ja r!/:1.7.0]
flix.ansport.ute(MetricsCollectingEurekaHttpClient.java:73) ~[eureka-cli ent-1.7.0.jar!/:1.7.0]
flix.ansport.Delta(EurekaHttpClientDecorator.java:149) [eureka-client-1.7.0.jar!/ :1.7.0]
flix.ansport.decorator.ute(EurekaHttpClientDecorator.java:152) [eureka-client-1.7.0.ja r!/:1.7.0]
flix.ansport.uteOnNewServer(RedirectingEurekaHttpClient.java:118) ~[eurek a-client-1.7.0.jar!/:1.7.0]
flix.ansport.ute(RedirectingEurekaHttpClient.java:79) ~[eureka-client-1.7.0.ja
r!/:1.7.0]
flix.ansport.Delta(EurekaHttpClientDecorator.java:149) [eureka-client-1.7.0.jar!/ :1.7.0]
flix.ansport.decorator.ute(EurekaHttpClientDecorator.java:152) [eureka-client-1.7.0.ja r!/:1.7.0]
flix.ansport.ute(RetryableEur
ekaHttpClient.java:119) [eureka-client-1.7.0.jar!/: 1.7.0]
flix.ansport.Delta(EurekaHttpClientDecorator.java:149) [eureka-client-1.7.0.jar!/ :1.7.0]
flix.ansport.decorator.ute(EurekaHttpClientDecorator.java:152) [eureka-client-1.7.0.ja r!/:1.7.0]
flix.ansport.ute(SessionedEurekaHttpClient.java:77) [eureka-client-1.7.0.jar!/: 1.7.0]
flix.ansport.Delta(EurekaHttpClientDecorator.java:149) [eureka-client-1.7.0.jar!/ :1.7.0]
flix.AndUpdateDelta(DiscoveryClient.java:1056) [eureka-client-1.7.0.jar!/:1.7.0]
flix.discovery.DiscoveryClient.fetchRegistry(DiscoveryClient.java:938) [eureka-client-1.7.0.jar!/:1.7.0]
flix.freshRegistry(DiscoveryClient.java:1460) [eureka-client-1.7.0.jar!/:1.7.0]
flix.discovery.DiscoveryClient$CacheRefreshThread.run(DiscoveryClient.java:1427) [eureka-client-1.7.0.jar!/:1.7.0]
at urrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.8.0_191]
at urrent.FutureTask.run(Unknown Source) [na:1.8.0_191]百科全书英文
at urrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_191]连锁反应英文版
at urrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_191]
at java.lang.Thread.run(Unknown Source) [na:1.8.0_191]
Caud by: SocketTimeoutException: Read timed out
SocketInputStream.socketRead0(Native Method) ~[na:1.8.0_191]
SocketInputStream.socketRead(Unknown Source) ~[na:1.8.0_191]
ad(Unknown Source) ~[na:1.8.0_191]
ad(Unknown Source) ~[na:1.8.0_191]
at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:161) ~[httpcore-4.4.8.jar!/:4.4.8]
at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:82) ~[httpcore-4.4.8.jar!/:4.4.8]
at org.apache.http.impl.adLine(AbstractSessionInputBuffer.java:278) ~[httpcore-4.4.8.jar!/:4.4.8]
at org.apache.DefaultHttpResponParr.parHead(DefaultHttpResponParr.java:138) ~[httpclient-4.5.3.jar!/:4.5.3]
at org.apache.DefaultHttpResponParr.parHead(DefaultHttpResponParr.java:56) ~[httpclient-4.5.3.jar!/:4.5.3]
at org.apache.http.impl.io.AbstractMessageParr.par(AbstractMessageParr.java:259) ~[httpcore-4.4.8.jar!/:4.4.8]
at org.apache.http.iveResponHeader(AbstractHttpClientConnection.java:286) ~[httpcore-4.4.8.jar!/:4.4.8]
at org.apache.iveResponHeader(DefaultClientConnection.java:257) ~[httpclient-4.5.3.jar!/:4.5.3]
at org.apache.iveResponHeader(AbstractClientConnAdapter.java:230) ~[httpclient-4.5.3.jar!/:4.5.3] at org.apache.http.protocol.HttpRequestExecutor.doReceiveRespon(HttpRequestExecutor.java:273) ~
[httpcore-4.4.8.jar!/:4.4.8]
at org.apache.http.ute(HttpRequestExecutor.java:125) ~[httpcore-4.4.8.jar!/:4.4.8]
at org.apache.http.impl.Execute(DefaultRequestDirector.java:684) ~[httpclient-4.5.3.jar!/:4.5.3]
at org.apache.http.impl.ute(DefaultRequestDirector.java:486) ~[httpclient-4.5.3.jar!/:4.5.3]
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835) ~[httpclient-4.5.3.jar!/:4.5.3]
at org.apache.http.impl.ute(CloableHttpClient.java:118) ~[httpclient-4.5.3.jar!/:4.5.3]
at org.apache.http.impl.ute(CloableHttpClient.java:56) ~[httpclient-4.5.3.jar!/:4.5.3]
at com.sun.jery.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:173) ~[jery-apache-client4-1.19.1.jar!/:1.19.1] ... 30 common frames omitted
2018-12-11 23:00:09.953 WARN 21072 --- [freshExecutor-0] c.n.d.RetryableEurekaHttpClient : Request execution failed with message: So cketTimeoutException: Read timed out
2018-12-11 23:00:09.958 ERROR 21072 --- [freshExecutor-0] flix.discovery.DiscoveryClient : DiscoveryClient_MICROSERVICE-DISCOVERY-EU REKA-HA/:microrvice-discovery-eureka-ha:8762 - was unable to refresh its cache! status = Cannot execute request on any kno wn rver
flix.ansport.ute(RetryableEurekaHttpClient.java:111) ~[eureka-client-1.7.0.jar!/ :1.7.0]
flix.ansport.Delta(EurekaHttpClientDecorator.java:149) ~[eureka-client-1.7.0.jar !/:1.7.0]
flix.ansport.decorator.ute(EurekaHttpClientDecorator.java:152) ~[eureka-client-1.7.0.j ar!/:1.7.0]
money是什么意思
flix.ansport.ute(SessionedEurekaHttpClient.java:77) ~[eureka-client-1.7.0.jar! /:1.7.0]
flix.ansport.Delta(EurekaHttpClientDecorator.java:149) ~[eureka-client-1.7.0.jar !/:1.7.0]
flix.AndUpdateDelta(DiscoveryClient.java:1056) [eureka-client-1.7.0.jar!/:1.7.0]
flix.discovery.DiscoveryClient.fetchRegistry(DiscoveryClient.java:938) [eureka-client-1.7.0.jar!/:1.7.0]
flix.freshRegistry(DiscoveryClient.java:1460) [eureka-client-1.7.0.jar!/:1.7.0]
flix.discovery.DiscoveryClient$CacheRefreshThread.run(DiscoveryClient.java:1427) [eureka-client-1.7.0.jar!/:1.7.0]
at urrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.8.0_191]
at urrent.FutureTask.run(Unknown Source) [na:1.8.0_191]
at urrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_191]
at urrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_191]
at java.lang.Thread.run(Unknown Source) [na:1.8.0_191]
问题出现原因:
仔细分析报错,是由于找不到Eureka Server的可⽤的Replicator造成的,但是为什么会找不到呢?思索发现,是由于⾃⼰没有同时启动Eureka Server的两个实例,所以在启动⼀个实例的时候找不到另外实例。
解决⽅法:
开启两个CMD窗⼝按照以上java -jar jar包名称命令同时运⾏以上两个实例。