Elasticsearch 1.3.2间歇性地给出NoNodeException

时间:2015-08-09 02:50:45

标签: java elasticsearch

我正在使用Java Transport Client连接到Elasticsearch集群。群集和客户端均为1.3.2版。我间歇性地得到以下NoNodeAvailableException。

NoNodeAvailableException:没有配置的节点可用:... {data = false,master = false}])

这是我通过传输客户端进行连接的方式。我故意增加Ping超时间隔以避免这个问题,但没有太多运气。有什么想法可以做些什么来防止这种异常?

mysql> SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL;
        -> 1, 1, 0
mysql> SELECT 1 = 1, NULL = NULL, 1 = NULL;
        -> 1, NULL, NULL

2 个答案:

答案 0 :(得分:2)

有2项变更

  1. 网络片状 - 网络不稳定,不允许 断断续续的连接。
  2. GC - 当触发垃圾收集时,会有一段时间 “停止世界”的时间。在这个范围内,java进程将冻结和 该节点将给出相同的“无节点异常”。观看GC 节点的活动,看看这是否是原因。
  3. 客户端和服务器Elasticsearch版本 - 查看它们是否都是 相同的

答案 1 :(得分:0)

增加了ping超时,并添加了受http://petabyte-georgesanchez.blogspot.com/2014/07/elasticsearch-sniff-sniff.html启发的以下配置更改,似乎工作正常。

.put(&#34; client.transport.sniff&#34;,true) .put(&#34; client.transport.ping_timeout&#34;,&#34; 25s&#34;)。output(&#34; client.transport.nodes_sampler_interval&#34;,&#34; 10s&#34;)