错误相关信息
NoNodeAvailableException[None of the configured nodes are available: [{#transport#-
1}{
10.6.51.17}{
10.6.51.17:
9300}]]
at org.elasticsearch.client.transport.TransportClientNodesService.ensureNodesAreAvailable(TransportClientNodesService.java:
290)
at org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:
207)
at org.elasticsearch.client.transport.support.TransportProxyClient.execute(TransportProxyClient.java:
55)
at org.elasticsearch.client.transport.TransportClient.doExecute(TransportClient.java:
288)
at org.elasticsearch.client.support.AbstractClient.execute(AbstractClient.java:
359)
at org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:
86)
at org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:
56)
at com.util.ESClient.search(ESClient.java:
414)
at com.controller.IndexController.getIndex(IndexController.java:
171)
at sun.reflect.GeneratedMethodAccessor46.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:
606)
......
......
解决方法
保持代码中集群名与elaticsearch.yml的配置一致
代码中集群名为默认的elasticsearch。
Settings settings = Settings.settingsBuilder().put(
"cluster.name",
"elasticsearch").put(
"client.transport.sniff",
true).build();
elaticsearch.yml
cluster.name: elasticsearch
改系统配置
1.vim /etc/sysctl.conf
2.在末尾添加:
net.ipv4.tcp_keepalive_time=
600
net.ipv4.tcp_keepalive_intvl=
60
net.ipv4.tcp_keepalive_probes=
3
3.sysctl -p时期立即生效
到此为止,重启es即可。暂时记录修改方法,日后会更新博客写明原因。