elasticserch:org.elasticsearch.client.transport.NoNodeAvailableException:没有节点可用 [英] elasticserch: org.elasticsearch.client.transport.NoNodeAvailableException: No node available

查看:387
本文介绍了elasticserch:org.elasticsearch.client.transport.NoNodeAvailableException:没有节点可用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有更新弹性搜索版本从 elasticsearch-0.90.7 elasticsearch-1.3.1 并且应用程序正在工作 elasticsearch-0.90.7 ,但在 elasticsearch-1.3.1 获得下面的异常:

  2014-07-31 / 12:49:22.276 [SimpleAsyncTaskExecutor-4]错误step.AbstractStep  - 执行步骤
org时遇到错误.elasticsearch.client.transport.NoNodeAvailableException:没有节点可用
在org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:219)
在org.elasticsearch.client.transport.support。 InternalTransportClient.execute(InternalTransportClient.java:106)
在org.elasticsearch.client.support.AbstractClient.bulk(AbstractClient.java:149)
在org.elasticsearch.client.transport.TransportClient.bulk( TransportClient.java:354)
在org.elasticsearch.action.bulk.BulkRequestBuilder.doExecute(BulkRequestBuilder.java:165)
在org.ela sticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:85)
在org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:59)
在com.verisign.rzuingest.batch.RzuFilesIngestionTasklet。执行(Ingestion.groovy:75)
在java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:471)
在java.util.concurrent.FutureTask.run(FutureTask.java: 262)
在java.lang.Thread.run(Thread.java:745)

我正在使用Java客户端 org.springframework.data:spring-data-elasticsearch:1.0.0.M1 与弹性搜索进行交互,如:

  ElasticsearchTemplate.bulkIndex(index)

如何解决这个问题?

解决方案


TL; DR
更新春天-data-elasticsearch库以及


不同的主要Elasticsearch版本有不兼容的传输协议。这是为了避免集群中的版本不匹配。您将ES升级到1.3.1,但您的弹簧数据库使用旧版本的客户端,所以它根本无法找到集群中的其他节点 - 它不知道如何正确地通信它们。



只需参考您的库文档找到与ES 1.3.1一起使用的必要版本,并使用它。


I have update elasticsearch version from elasticsearch-0.90.7 to elasticsearch-1.3.1 and application was working fine in elasticsearch-0.90.7 but in elasticsearch-1.3.1 getting below exception:

2014-07-31/12:49:22.276 [SimpleAsyncTaskExecutor-4]  ERROR step.AbstractStep - Encountered an error executing the step
org.elasticsearch.client.transport.NoNodeAvailableException: No node available
at org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:219)
at org.elasticsearch.client.transport.support.InternalTransportClient.execute(InternalTransportClient.java:106)
at org.elasticsearch.client.support.AbstractClient.bulk(AbstractClient.java:149)
at org.elasticsearch.client.transport.TransportClient.bulk(TransportClient.java:354)
at org.elasticsearch.action.bulk.BulkRequestBuilder.doExecute(BulkRequestBuilder.java:165)
at org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:85)
at org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:59)
at com.verisign.rzuingest.batch.RzuFilesIngestionTasklet.execute(Ingestion.groovy:75)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.lang.Thread.run(Thread.java:745)

I am using java client org.springframework.data:spring-data-elasticsearch:1.0.0.M1 to interact with elastic search some thing like:

ElasticsearchTemplate.bulkIndex(index)

How to fix this issue?

解决方案

TL;DR Update spring-data-elasticsearch library as well

Different major Elasticsearch versions have incompatible transport protocols. It was done to avoid version mismatches in a cluster. You have upgraded your ES to 1.3.1, but your spring data library uses old version of client so it simply can't find other nodes in a cluster - it doesn't know how to communicate them properly.

Just refer to your library documentation to find necessary version to use with ES 1.3.1 and use it.

这篇关于elasticserch:org.elasticsearch.client.transport.NoNodeAvailableException:没有节点可用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆