当前位置: 首页 > 知识库问答 >
问题:

Spring data elasticsearch 6.8.5如何配置HTTP端口

林星阑
2023-03-14

我使用Elasticsearch版本6.8.5,9201是HTTP端口,9301是群集节点的端口。在我的项目中,我使用spring boot(spring boot starter data elasticsearch)。申请时。属性文件,我设置群集节点的端口:

<代码>Spring。数据elasticsearch。群集节点=本地主机:9301

但我不知道如何设置HTTP端口。因此,当我开始我的项目时,我会遇到一个错误:

NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{de81Kcj-QUqTRdA9HskFWg}{localhost}{localhost:9301}]];

我尝试使用高级REST客户端设置(https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/#elasticsearch.clients.rest),但它仍然不起作用:

@Configuration
html" target="_blank">public class ElasticsearchConfig {
    @Bean(destroyMethod = "close")
    public RestHighLevelClient restClient1() {
        final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
        RestClientBuilder builder = RestClient.builder(new HttpHost("localhost", 9201));
        RestHighLevelClient client = new RestHighLevelClient(builder);
        return client;
    }
}

如何配置HTTP端口(非默认端口)?

共有1个答案

甄德寿
2023-03-14

应使用以下代码:

@Bean
public RestHighLevelClient elasticsearchClient() {

    final ClientConfiguration clientConfiguration = ClientConfiguration.builder()
        .connectedTo("localhost:9201")
        // if you need basic authentication:
        .withBasicAuth("user", "password")
        .build();

    return RestClients.create(clientConfiguration).rest();
}

编辑:

从文档中检查完整的配置,当使用这样的自定义配置时,我建议不要让Spring Boot尝试配置Spring Data Elasticsearch。您可以通过将应用程序类上的注释更改为

@SpringBootApplication(exclude = ElasticsearchDataAutoConfiguration.class)
 类似资料:
  • 我想创建一个 angular.io 应用程序,但其余的API应从不同的服务器端付。 来自localhost的角度内容:4200,来自node express服务器的数据在localhost上独立启动:3000。但是当我注入并使用‘http’时,如何配置要使用的端口?

  • 问题内容: 我有一个证书文件,该位置是:并且我想将该证书用于我的tls配置,以便我的http客户端在与其他服务器通信时使用该证书。我当前的代码如下: 那么,如何在我的TLS配置中分配证书?我可以在http://golang.org/pkg/crypto/tls/#Config中看到证书设置,有人可以建议如何在此处配置我的证书位置吗? <-是错误的,因为我正在传递string。对吗?我没有任何其他文

  • 我正在编写一个基于Netty的HTTP/2服务,它执行“服务器发送事件”(SSE),我需要编写一个HTTP/2测试客户端类,用于集成测试,但我很难确定如何设置客户端管道,以便从服务器获取单个事件。 我第一次尝试使用HTTP/1.1↔ HTTP/2适配器类(

  • 问题内容: 我正在运行Ubuntu 11.10,并已在该系统上安装Jenkins。 我看过一些有关如何设置反向代理(Apache,Nginx等)的教程,但是,这是专门用于jenkins的VM,我想让jenkins在端口80上运行时尽可能保持精简。 我发现了新贵的配置,并将端口修改为80 当我通过启动jenkins时,显示它运行了几秒钟然后终止。 这是因为jenkins 在特权端口上以用户身份运行吗

  • 我有一个在安全通道上运行的应用程序,我想配置一个安全端口。我正在将以下连接器添加到我的 tomcat 服务器.xml文件中 当我点击时它连接到服务器 在浏览器中,但我从未得到响应,它永远连接到服务器。 我非常感谢这方面的任何帮助。 谢谢。

  • HTTP路由架构概述 HTTP路由过滤器 { "validate_clusters": "...", "virtual_hosts": [], "internal_only_headers": [], "response_headers_to_add": [], "response_headers_to_remove": [], "request_headers_to_ad