2016-08-26 8 views
8

Używam Spring Boot z Elasticsearch. Projekt został stworzony przy użyciu jhipster.Spring Elasticsearch - Żaden ze skonfigurowanych węzłów nie jest dostępny

pom.xml zawiera:

<parent> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <groupId>org.springframework.boot</groupId> 
    <version>1.4.0.RELEASE</version> 
    <relativePath/> 
</parent> 

i

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-data-elasticsearch</artifactId> 
</dependency> 

W trybie produkcyjnym pojawia się następujący błąd:

AbstractElasticsearchRepository : failed to load elasticsearch nodes :  
org.elasticsearch.client.transport.NoNodeAvailableException: None of 
the configured nodes are available: [{#transport#-1}{127.0.0.1} 
{localhost/127.0.0.1:9300}] 

Jak mogę rozwiązać ten problem?

+0

jeśli uruchomisz projekt jhipster z domyślną konfiguracją elasticsearch, to upewnij się, że twoja wersja serwera elasticsearh ma 1.7, ponieważ jhipster java współpracuje z tą wersją. – ismail

+0

w profilu rozwoju był taki problem, którego nie mogłem jeszcze rozwiązać. – ismail

+0

Działa dobrze. Dzięki – Jean

Odpowiedz

5

W profilu programistycznym JHipster korzysta z wbudowanego narzędzia Elasticsearch.

W profilu produkcyjnym domyślnie próbuje się połączyć z klastrem lokalnym, więc nie zainstalowałeś Elasticsearch na komputerze lokalnym lub nie skonfigurowałeś poprawnego adresu URL w application-prod.yml, aby połączyć się z istniejącym klastrem .

0

Przede wszystkim dzięki Gaël Marziou. Zainstalowałem Elasticsearch na moim komputerze lokalnym, ale problem nadal występuje. Tak, to jest mój plik application-prod.yml.

# =================================================================== 
# Spring Boot configuration for the "prod" profile. 
# 
# This configuration overrides the application.yml file. 
# =================================================================== 

# =================================================================== 
# Standard Spring Boot properties. 
# Full reference is available at: 
# http://docs.spring.io/spring-      
boot/docs/current/reference/html/common-application-properties.html 
# =================================================================== 


spring: 
    devtools: 
     restart: 
     enabled: false 
    livereload: 
     enabled: false 
datasource: 
    type: com.zaxxer.hikari.HikariDataSource 
    url: jdbc:postgresql://localhost:5432/gestor_6_0?useUnicode=true&characterEncoding=utf8&useSSL=false 
    name: 
    username: postgres 
    password: abcdef 
    hikari: 
     data-source-properties: 
      cachePrepStmts: true 
      prepStmtCacheSize: 250 
      prepStmtCacheSqlLimit: 2048 
      useServerPrepStmts: true 
jpa: 
    database-platform: com.everest.gestor.domain.util.FixedPostgreSQL82Dialect 
    database: POSTGRESQL 
    show-sql: false 
    properties: 
     hibernate.cache.use_second_level_cache: true 
     hibernate.cache.use_query_cache: false 
     hibernate.generate_statistics: false 
     hibernate.cache.region.factory_class: org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory 
data: 
    elasticsearch: 
     cluster-name: 
     cluster-nodes: localhost:9300 
mail: 
    host: localhost 
    port: 25 
    username: 
    password: 
thymeleaf: 
    cache: true 

liquibase: 
contexts: prod 

server: 
port: 8080 
compression: 
    enabled: true 
    mime-types: text/html,text/xml,text/plain,text/css, application/javascript, application/json 
    min-response-size: 1024 

# =================================================================== 
# JHipster specific properties 
# =================================================================== 

jhipster: 
http: 
    cache: # Used by the CachingHttpHeadersFilter 
     timeToLiveInDays: 1461 
cache: # Hibernate 2nd level cache, used by CacheConfiguration 
    timeToLiveSeconds: 3600 
    ehcache: 
     maxBytesLocalHeap: 256M 
security: 
    rememberMe: 
     # security key (this key should be unique for your application, and kept secret) 
     key: 33ec72f5b6d07e227df6bcad7ca844c50a40abb1 
mail: # specific JHipster mail property, for standard properties see MailProperties 
    from: [email protected] 
metrics: # DropWizard Metrics configuration, used by MetricsConfiguration 
    jmx.enabled: true 
    spark: 
     enabled: false 
     host: localhost 
     port: 9999 
    graphite: 
     enabled: false 
     host: localhost 
     port: 2003 
     prefix: gestor_6_0 
    logs: # Reports Dropwizard metrics in the logs 
     enabled: false 
     reportFrequency: 60 # in seconds 
logging: 
    logstash: # Forward logs to logstash over a socket, used by LoggingConfiguration 
     enabled: false 
     host: localhost 
     port: 5000 
     queueSize: 512 
+0

czy to działa? –

+0

Teraz działa. Podziękować. – Jean

0

Zmieniam metodę elasticTemplate w ElasticSearchConfiguration.java i działa dobrze. Dodaję tylko następujące wiersze i ustawię nazwę węzła klastra na "Gibborim" w Elasticsearch 2.0.

Settings settings = Settings.settingsBuilder() 
     .put("client.transport.sniff", true).put("name","Gibborim").put("cluster.name", "elasticsearch").put("network.host","127.0.0.1").build(); 

    client = TransportClient.builder().settings(settings).build().addTransportAddress(new InetSocketTransportAddress(new InetSocketAddress("127.0.0.1", 9300))); 
0

Jeśli prowadzisz jhipster projekt z domyślnej konfiguracji elasticsearch następnie upewnij się, że wersja serwera elasticsearh wynosi 1,7 ponieważ projekt jhipster java działa z tą wersją (w profilu produkcji)

W profilu rozwoju nie było takiej Problem, którego nie udało mi się jeszcze rozwiązać

Powiązane problemy