我在Elasticsearch中使用spring-boot。该项目是使用jhipster创建的。
pom.xml包含:
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>1.4.0.RELEASE</version>
<relativePath/>
</parent>
和
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
在生产模式下,会发生以下错误:
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}]
如何解决此错误?
答案 0 :(得分:5)
在开发资料中,JHipster使用嵌入式Elasticsearch。
在生产配置文件中,它默认尝试连接到本地群集,因此要么您未在本地计算机上安装Elasticsearch,要么
尚未在application-prod.yml
中配置正确的网址以连接到现有群集。
答案 1 :(得分:0)
首先感谢GaëlMarziou。 我在本地计算机上安装了Elasticsearch,但问题仍然存在。所以,这是我的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: gestor_6_0@localhost
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
答案 2 :(得分:0)
我在ElasticSearchConfiguration.java中更改了我的elasticTemplate方法并且工作正常。我只需添加以下行并将我的群集节点名称设置为&#34; Gibborim&#34;在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)));
答案 3 :(得分:0)
如果您使用默认的elasticsearch配置运行jhipster项目,请确保您的elasticsearh服务器版本为1.7,因为jhipster java项目适用于此版本(在生产配置文件中)
在开发简介中存在一个我无法解决的问题