DiscoveryClient не может обновить свой кеш! Статус 404

Я установил Intershop Commerce Management 7.8, и все работает нормально, за исключением того, что я получаю постоянные ошибки в файле журнала ошибок.

Eureka работает, я могу получить доступ к пользовательскому интерфейсу Eureka, используя http://localhost:8760/ Сервер приложений и Solr перечислены и работают.

URL-адрес в eureka-client.properties имеет значение: http://localhost:8760/eureka

Есть идеи, что здесь не так?

Вот некоторые записи об ошибках:

[2017-03-07 10:39:10.865 +0000] ERROR localhost ES1 appserver0 [] [] com.netflix.discovery.DiscoveryClient [] [] [] [] "DiscoveryClient-CacheRefreshExecutor-0" DiscoveryClient_DEVELOPER-SOLRSERVER/localhost_appserver0 - was unable to refresh its cache! status = Bad status: 404 java.lang.RuntimeException: Bad status: 404
        at com.netflix.discovery.DiscoveryClient.makeRemoteCall(DiscoveryClient.java:1589)
        at com.netflix.discovery.DiscoveryClient.makeRemoteCallWithFollowRedirect(DiscoveryClient.java:1460)
        at com.netflix.discovery.DiscoveryClient.makeRemoteCall(DiscoveryClient.java:1443)
        at com.netflix.discovery.DiscoveryClient.makeRemoteCall(DiscoveryClient.java:1394)
        at com.netflix.discovery.DiscoveryClient.getAndStoreFullRegistry(DiscoveryClient.java:1136)
        at com.netflix.discovery.DiscoveryClient.fetchRegistry(DiscoveryClient.java:1042)
        at com.netflix.discovery.DiscoveryClient.access$2100(DiscoveryClient.java:123)
        at com.netflix.discovery.DiscoveryClient$CacheRefreshThread.run(DiscoveryClient.java:1900)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

[2017-03-07 10:39:14.269 +0000] ERROR localhost ES1 appserver0 [] [] com.netflix.discovery.DiscoveryClient [] [] [] [] "DiscoveryClient-CacheRefreshExecutor-0" Can't contact any eureka nodes - possibly a security group issue? java.lang.RuntimeException: Bad status: 404
        at com.netflix.discovery.DiscoveryClient.makeRemoteCall(DiscoveryClient.java:1589)
        at com.netflix.discovery.DiscoveryClient.makeRemoteCallWithFollowRedirect(DiscoveryClient.java:1460)
        at com.netflix.discovery.DiscoveryClient.makeRemoteCall(DiscoveryClient.java:1443)
        at com.netflix.discovery.DiscoveryClient.makeRemoteCall(DiscoveryClient.java:1394)
        at com.netflix.discovery.DiscoveryClient.getAndStoreFullRegistry(DiscoveryClient.java:1136)
        at com.netflix.discovery.DiscoveryClient.fetchRegistry(DiscoveryClient.java:1042)
        at com.netflix.discovery.DiscoveryClient.access$2100(DiscoveryClient.java:123)
        at com.netflix.discovery.DiscoveryClient$CacheRefreshThread.run(DiscoveryClient.java:1900)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

[2017-03-07 10:39:14.270 +0000] ERROR localhost ES1 appserver0 [] [] com.netflix.discovery.DiscoveryClient [] [] [] [] "DiscoveryClient-CacheRefreshExecutor-0" DiscoveryClient_DEVELOPER-APPSERVER/localhost_ES1_appserver0 - was unable to refresh its cache! status = Bad status: 404 java.lang.RuntimeException: Bad status: 404
        at com.netflix.discovery.DiscoveryClient.makeRemoteCall(DiscoveryClient.java:1589)
        at com.netflix.discovery.DiscoveryClient.makeRemoteCallWithFollowRedirect(DiscoveryClient.java:1460)
        at com.netflix.discovery.DiscoveryClient.makeRemoteCall(DiscoveryClient.java:1443)
        at com.netflix.discovery.DiscoveryClient.makeRemoteCall(DiscoveryClient.java:1394)
        at com.netflix.discovery.DiscoveryClient.getAndStoreFullRegistry(DiscoveryClient.java:1136)
        at com.netflix.discovery.DiscoveryClient.fetchRegistry(DiscoveryClient.java:1042)
        at com.netflix.discovery.DiscoveryClient.access$2100(DiscoveryClient.java:123)
        at com.netflix.discovery.DiscoveryClient$CacheRefreshThread.run(DiscoveryClient.java:1900)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

2 ответа

Решение

Существует простое решение этой проблемы. Клиент eureka немного суетлив: используйте " http://localhost:8760/eureka/" вместо " http://localhost:8760/eureka". Надеюсь, это поможет.

Просто вы можете добавить следующий скрипт в свой файл application.yml, и он будет работать нормально.

           server:
        port: 8761
 

    eureka:
      instance:
        hostname: localhost
      client:
        registerWithEureka: false
        fetchRegistry: false
        serviceUrl:
          defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
Другие вопросы по тегам