首页 > 解决方案 > 如何使用 spring boot 2.15 正确配置 elasticsearch 7.1.1?

问题描述

我正在使用 Elasticsearch 7.1.1 和 spring-boot 2.1.5。我下载了 Elasticsearch 并运行它。当我开始 spring 项目时,我遇到了一个错误。是“无法加载 Elasticsearch 节点:org.elasticsearch.client.transport.NoNodeAvailableException:没有配置的节点可用:[{#transport#-1}{rsi4dYt_RuOBGCdwUH3Cgg}{127.0.0.1}{127.0.0.1:9200} ] ”。我怎样才能正确运行它

我使用了这些配置。

spring.elasticsearch.jest.multi-threaded=true
spring.main.allow-bean-definition-overriding=true
spring.data.elasticsearch.cluster-nodes=localhost:9200
spring.data.elasticsearch.repositories.enabled=true
spring.elasticsearch.jest.uris=http://localhost:9200
spring.elasticsearch.jest.connection-timeout=3s
spring.elasticsearch.rest.uris=http://localhost:9200
spring.data.elasticsearch.cluster-name=elasticsearch

@Configuration
@EnableElasticsearchRepositories(basePackages = 
"com.example.elasticsearch.repository")
public class ElasticSearchConfiguration {
 @Bean
 public Client client() throws UnknownHostException {
    Settings settings = Settings.builder()
            .put("client.transport.sniff", true)
            .put("cluster.name", "elasticsearch").build();
    @SuppressWarnings("resource")
    TransportClient client = new PreBuiltTransportClient(settings)
            .addTransportAddress(new 
 TransportAddress(InetAddress.getByName("127.0.0.1"), 9200));

    return client;
}

@Bean
public ElasticsearchOperations elasticsearchTemplate() throws 
UnknownHostException {
    return new ElasticsearchTemplate(client());
   }
}

标签: javaspring-bootubuntuelasticsearch

解决方案


我想如果你弄错了,那就是使用port = 9200try to use port = 9300。从您的应用程序连接到 Elastic Search 服务器时,将使用端口号 9300 而不是 9200。


推荐阅读