如何在spring-boot启动程序2.1.4中使用spring-data-elasticsearch?

时间:2019-01-30 15:32:41

标签: spring-boot elasticsearch spring-data-elasticsearch

如何在spring-boot 2.1.4 REALESE中使用spring-data-elasticsearch?

当前错误。

ERROR: org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{XGi_IpM0QHea4D3QbFbArQ}{HOST}{HOST:PORT}]]] with root cause
org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available:

我的环境。

  • elasticsearch 6.2.2
  • spring-boot 2.1.4发布(启动程序,spring-data-elasticsearch 3.1.4)

希望。

  • spring-boot配置elasticsearch客户端连接。 使用application.yml的spring.elasticsearch.rest或spring.data.elsticsearch

我可以在spring-boot 2.1.4 RELEASE(spring-data-elasticsearch 3.1.4)中使用elasticsearch 6.2.2吗?

我该怎么办?


错误:org.apache.catalina.core.ContainerBase。[Tomcat]。[localhost]。[/]。[dispatcherServlet]-路径为[]的上下文中Servlet [dispatcherServlet]的Servlet.service()抛出异常[请求处理失败;嵌套异常为NoNodeAvailableException [没有配置的节点可用:[{#transport#-1} {XGi_xxxxxxxxxxx} {HOST} {HOST:PORT}]]],其根本原因是 org.elasticsearch.client.transport.NoNodeAvailableException:没有配置的节点可用:

在srping-boot 2.1.4的spring-data-elasticsearch上连接到Elasticsearch 6.2.2时出现问题。

1 个答案:

答案 0 :(得分:0)

您正在将TCP客户端用于Elasticsearch 6.2.2。没有节点可用的消息来自坐标节点当它没有发现任何可用的节点进行响应。

  1. 我会极力RECFOMMEND去休息客户端。为什么? Elasticsearch考虑到从7.0版本中移除TCP客户端。

  2. 如果您仍在考虑使用tcp客户端:

    • 2.1设置更长的tcp客户端读取超时;
    • 2.2仍然出现错误?将主机设置为0.0.0。 (transport.host:0.0.0.0),如果它是本地主机(127.0.0.0)
    • 2.3仍然出现错误?启用嗅探器,嗅探器检查可用节点并更新节点状态,将其添加到配置映射中。put(“ client.transport.sniff”,true)
    • 2.4设置你的所有节点作为主(I解决我ISSUE BY THIS)
    • 2.5(建议)如果仍然出现此错误,请仔细阅读此博客并更新系统TCP保持活动时间https://blog.trifork.com/2015/04/08/dealing-with-nodenotavailableexceptions-in-elasticsearch/

其中第二部分的产品必须工作。如果不工作,请发表您的配置和指标(多少什么样的来ES的请求,考虑队列大小)。 我希望这会有所帮助!