मैं अपने स्थानीय केंद्र पर अपना यूरेका-सर्वर चला रहा हूं। मैं अपने सभी अन्य को स्थानीयहोस्ट चलने वाली सेवाओं और अपेक्षित कामों पर काम करने में सक्षम हूं।विभिन्न होस्टों पर यूरेका-सर्वर के साथ यूरेका-क्लाइंट को कैसे पंजीकृत करें। स्प्रिंग-बूट
अब मैं एक सेवा पंजीकृत करना चाहता हूं जो लिनक्स मशीन पर चल रहा है। मेरी गुण इस तरह दिखती हैं:
spring.application.name=myService-service
spring.cloud.config.uri=http://myMachine.domain.lan:8888
server.port=8002
eureka.client.service-url.default-zone=http://myMachine.domain.lan:8761/eureka/
लेकिन सेवा स्थानीयहोस्ट पर यूरेका सर्वर पर पंजीकरण करने में सक्षम नहीं है।
(अंत अपनी ही सेवा है जो स्थानीय होस्ट पर चलता है पर) मैं उनमें से किसी अपवाद प्राप्त करें:
java.net.ConnectException: Connection refused
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
लेकिन मैं अपने config-सेवा स्थानीय होस्ट पर चलने से मेरी विन्यास फाइल प्राप्त करने में सक्षम हूँ।
लिनक्स मशीन (क्लाइंट) से लोकहोस्ट (सर्वर) से यूरेका में अपनी सेवा पंजीकृत करने के लिए मुझे कौन सी कॉन्फ़िगरेशन की आवश्यकता है?
यह एनोटेशन मैं का उपयोग करते हैं:
सेवा:
@SpringBootApplication
@EnableDiscoveryClient
@EnableEurekaClient
public class MyServiceApplication {
यूरेका-सर्वर:
@SpringBootApplication
@EnableEurekaServer
public class EurekaServiceApplication {
P.S.:Also opposit तरह से काम नहीं कर रहा। लिनक्स मशीन और स्थानीयहोस्ट पर सेवाओं पर यूरेका सर्वर होने का मतलब है। एक ही अपवाद प्राप्त करें।
Edit1:
यूरेका-सर्वर गुण:
spring.application.name=eureka-service
spring.cloud.config.uri=http://myMachine.domain.lan:8888
server.port=8761
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.instance.hostname=KBHWS242.myDomain.lan
eureka.instance.prefer-ip-address=true
EDIT2:
testsrv linux मशीन है। (172.25.82.108)
2016-08-31 09:17:01.912 INFO 27105 --- [ main] com.netflix.discovery.DiscoveryClient : Starting heartbeat executor: renew interval is: 30
2016-08-31 09:17:01.919 INFO 27105 --- [ main] c.n.discovery.InstanceInfoReplicator : InstanceInfoReplicator onDemand update allowed rate per min is 4
2016-08-31 09:17:01.923 INFO 27105 --- [ main] com.netflix.discovery.DiscoveryClient : Discovery Client initialized at timestamp 1472627821923 with initial instances count: 0
2016-08-31 09:17:02.068 INFO 27105 --- [ main] c.n.e.EurekaDiscoveryClientConfiguration : Registering application reservation-service with eureka with status UP
2016-08-31 09:17:02.070 INFO 27105 --- [ main] com.netflix.discovery.DiscoveryClient : Saw local status change event StatusChangeEvent [timestamp=1472627822070, current=UP, previous=STARTING]
2016-08-31 09:17:02.073 INFO 27105 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_RESERVATION-SERVICE/testsrv1.myDomain.lan:reservation-service:8002: registering service...
2016-08-31 09:17:02.173 ERROR 27105 --- [nfoReplicator-0] c.n.d.s.t.d.RedirectingEurekaHttpClient : Request execution error
com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused
Caused by: java.net.ConnectException: Connection refused
2016-08-31 09:17:02.174 WARN 27105 --- [nfoReplicator-0] c.n.d.s.t.d.RetryableEurekaHttpClient : Request execution failure
2016-08-31 09:17:02.175 WARN 27105 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_RESERVATION-SERVICE/testsrv1.myDomain.lan:reservation-service:8002 - registration failed Cannot execute request on any known server
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
2016-08-31 09:17:02.175 WARN 27105 --- [nfoReplicator-0] c.n.discovery.InstanceInfoReplicator : There was a problem with the instance info replicator
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
2016-08-31 09:17:02.594 INFO 27105 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8002 (http)
2016-08-31 09:17:02.596 INFO 27105 --- [ main] c.n.e.EurekaDiscoveryClientConfiguration : Updating port to 8002
2016-08-31 09:17:04.134 INFO 27105 --- [ main] o.h.h.i.QueryTranslatorFactoryInitiator : HHH000397: Using ASTQueryTranslatorFactory
2016-08-31 09:17:04.659 INFO 27105 --- [ main] a.e.ReservationServiceApplication : Started ReservationServiceApplication in 44.893 seconds (JVM running for 47.272)
2016-08-31 09:17:31.913 INFO 27105 --- [freshExecutor-0] com.netflix.discovery.DiscoveryClient : Disable delta property : false
2016-08-31 09:17:31.914 INFO 27105 --- [freshExecutor-0] com.netflix.discovery.DiscoveryClient : Single vip registry refresh property : null
2016-08-31 09:17:31.914 INFO 27105 --- [freshExecutor-0] com.netflix.discovery.DiscoveryClient : Force full registry fetch : false
2016-08-31 09:17:31.914 INFO 27105 --- [freshExecutor-0] com.netflix.discovery.DiscoveryClient : Application is null : false
2016-08-31 09:17:31.914 INFO 27105 --- [freshExecutor-0] com.netflix.discovery.DiscoveryClient : Registered Applications size is zero : true
2016-08-31 09:17:31.914 INFO 27105 --- [freshExecutor-0] com.netflix.discovery.DiscoveryClient : Application version is -1: true
2016-08-31 09:17:31.914 INFO 27105 --- [freshExecutor-0] com.netflix.discovery.DiscoveryClient : Getting all instance registry info from the eureka server
2016-08-31 09:17:31.917 ERROR 27105 --- [freshExecutor-0] c.n.d.s.t.d.RedirectingEurekaHttpClient : Request execution error
com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused
Caused by: java.net.ConnectException: Connection refused
2016-08-31 09:17:31.917 WARN 27105 --- [freshExecutor-0] c.n.d.s.t.d.RetryableEurekaHttpClient : Request execution failure
2016-08-31 09:17:31.918 ERROR 27105 --- [freshExecutor-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_RESERVATION-SERVICE/testsrv1.myDomain.lan:reservation-service:8002 - was unable to refresh its cache! status = Cannot execute request on any known server
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
2016-08-31 09:17:31.924 ERROR 27105 --- [tbeatExecutor-0] c.n.d.s.t.d.RedirectingEurekaHttpClient : Request execution error
com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused
Caused by: java.net.ConnectException: Connection refused
DiscoveryClient_RESERVATION-SERVICE/testsrv1.myDomain.lan:reservation-service:8002 - was unable to send heartbeat!
Edit3:
निर्भरता:
Maven: org.springframework.cloud:spring-cloud-commons:1.1.1.RELEASE
Maven: org.springframework.cloud:spring-cloud-config-client:1.1.2.RELEASE
Maven: org.springframework.cloud:spring-cloud-context:1.1.1.RELEASE
Maven: org.springframework.cloud:spring-cloud-netflix-core:1.1.5.RELEASE
Maven: org.springframework.cloud:spring-cloud-netflix-eureka-client:1.1.5.RELEASE
Maven: org.springframework.cloud:spring-cloud-starter:1.1.1.RELEASE
Maven: org.springframework.cloud:spring-cloud-starter-archaius:1.1.5.RELEASE
Maven: org.springframework.cloud:spring-cloud-starter-config:1.1.3.RELEASE
Maven: org.springframework.cloud:spring-cloud-starter-eureka:1.1.5.RELEASE
Maven: org.springframework.cloud:spring-cloud-starter-ribbon:1.1.5.RELEASE
Maven: org.springframework.cloud:spring-cloud-netflix-eureka-server:1.1.5.RELEASE
यूरेका को यूआरएलए/खोज/यूरेका के साथ समाप्त नहीं होना चाहिए? अधिकांश पोस्ट में – freakman
@ फ्रैकमैन मैंने पढ़ा कि यह बिना खोज/खोज था, लेकिन इसका उपयोग/खोज का एक ही परिणाम मिला। कोई अन्य सुझाव? – Patrick
क्या आप वास्तव में सही आईपी पर यूरो सर्वर को बाध्य कर रहे हैं? यह हो सकता है कि यह केवल सभी ips के बजाय 'localhost' के लिए बाध्य है। क्या आप वास्तव में किसी भी माचिन से अन्य यूआरएल तक अपनी स्थानीय मशीन तक पहुंच सकते हैं ... –