[英]Spring Boot and Elasticsearch: NoReachableHostException: Host 'localhost/<unresolved>:9200' not reachable
我有一个非常简单的用例,我只想使用 Spring Boot (2.5.2) 将文档放入 elasticsearch 索引中。 应用程序启动时,我一直看到此错误:
原因:org.springframework.data.elasticsearch.client.NoReachableHostException:主机'localhost/:9200'不可访问。 集群 state 处于离线状态。
它似乎只是加载 elasticsearch 的默认主机和端口,但我不知道为什么。 我试过移动这些属性。 我试过不使用存储库,而是只使用 RestHighLevelClient。 无论如何,我在启动时不断收到此错误。
我正在使用 spring-boot-starter-data-elasticsearch
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-elasticsearch'
这是我的 application.yml
spring:
elasticsearch:
rest:
uris: <my host>:<my port>
username: <username>
password: <password>
我正在尝试发送的文档 object
@Document(indexName = "#{@environment.getProperty('indices.someobject')}", createIndex = false)
public class SomeObjectDocument{
@Id
private String id;
private SomeObject object;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public SomeObject getSomeObject () {
return someObject;
}
public void setSomeObject (SomeObject someObject ) {
this.someObject = someObject;
}
}
客户端配置
@Configuration
@EnableElasticsearchRepositories(basePackages = "com.some.company.project.elastic.repository")
public class ElasticClientConfig {
@Value("${spring.elasticsearch.rest.username}")
private String elasticUsername;
@Value("${spring.elasticsearch.rest.password}")
private String elasticPassword;
@Value("${spring.elasticsearch.rest.uris}")
private String uri;
@Bean
public RestHighLevelClient elasticsearchClient() {
LOG.info(uri);
ClientConfiguration clientConfiguration = ClientConfiguration.builder()
.connectedTo(uri)
.usingSsl()
.withBasicAuth(elasticUsername, elasticPassword)
.build();
return RestClients.create(clientConfiguration).rest();
}
@Bean
public ElasticsearchOperations elasticsearchOperations() {
return new ElasticsearchRestTemplate(elasticsearchClient());
}
}
对于存储库,我只是创建了它,没有添加任何其他方法,因为我只需要保存
public interface SomeObjectRepository extends ElasticsearchRepository<SomeObjectDocument, String> {
}
我认为您关于 elasticsearch 实例的问题。 您确定 elasticsearch 实例在 9200 端口上工作吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.