spring-boot - 使用RestHighLevelClient进行 Elasticsearch 时获取connectionexception

标签 spring-boot elasticsearch

我已经下载了链接Spring boot elastic search example中可用的spring boot项目。

它似乎不起作用。当我尝试获取数据时,出现以下异常。另外,我无法连接到9200端口,并且看不到该端口上正在运行的任何东西来确认是否将数据添加到存储库中。

java.net.ConnectException
    at org.apache.http.nio.pool.RouteSpecificPool.timeout(RouteSpecificPool.java:168)
    at org.apache.http.nio.pool.AbstractNIOConnPool.requestTimeout(AbstractNIOConnPool.java:561)
    at org.apache.http.nio.pool.AbstractNIOConnPool$InternalSessionRequestCallback.timeout(AbstractNIOConnPool.java:822)
    at org.apache.http.impl.nio.reactor.SessionRequestImpl.timeout(SessionRequestImpl.java:183)
    at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processTimeouts(DefaultConnectingIOReactor.java:210)
    at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:155)
    at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:348)
    at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.execute(PoolingNHttpClientConnectionManager.java:194)
    at org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase$1.run(CloseableHttpAsyncClientBase.java:64)
    at java.lang.Thread.run(Unknown Source)

我也尝试了其他一些示例,但是当我使用RestHighLevelClient时,无法添加和获取数据。在这些情况下,我会收到java.net.ConnectException: Connection refused: no further information异常。

如何使RestHighLevelClient工作?

最佳答案

您可以在pom中验证rest-high-high-client的版本,并与您要连接的ES的版本进行比较吗?可以预期,这些版本必须兼容。
请在下面找到我的pom片段。


<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.8.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>
    <!-- ES -->
    <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>elasticsearch-rest-high-level-client</artifactId>
        <version>6.1.1</version>
    </dependency>
    <dependency>
        <groupId>org.elasticsearch</groupId>
        <artifactId>elasticsearch</artifactId>
        <version>6.1.1</version>
    </dependency>

其他一些在故障排除时可能会有所帮助的提示:
  • 验证ES的日志文件,并在连接
  • 时查看是否有任何错误
  • 使用curl连接到http://localhost:9200
  • 使用Chrome Elastic Search Head插件http://localhost:9200
  • 验证您的防火墙

  • 希望这可以帮助。
    最好,
    威姆

    关于spring-boot - 使用RestHighLevelClient进行 Elasticsearch 时获取connectionexception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58801312/

    相关文章:

    spring-boot - 是否有一种优雅的方法来指定实体的字段,以使Spring Data Elasticsearch的ObjectMapper忽略它们,而将它们序列化为REST?

    Elasticsearch - preIndex

    java - ElasticSearch - JavaApi 按每个字符而不是术语(单词)进行搜索

    elasticsearch - 如何将 Kibana 3 仪表板加载到 Kibana 4 中?

    elasticsearch - 如何在Elasticsearch中获得总单词出现次数?

    spring - 为什么 spring.security.user.name 和密码不适用于通过 Spring Boot 2 使用的 Spring 云配置服务器?

    java - Spring Boot或Spring中用于异常和错误处理场景的工作流机制

    Spring Boot 应用程序只接受 6 个请求,为什么?

    java - Multi-Tenancy 数据源之间的动态切换不起作用

    java - 在gradle中运行任务后如何运行集成任务?