web端连接es
java client 连接es遇到的2个问题
没有可用的节点
javaclient连接未经配置的es,会报出None of the configured nodes are available
异常。解决办法是配置2个参数。这两个参数可以在es_home/config/elasticsearch.yml
中配置。然后重启es即可。
network.publish_host: 192.168.1.75
network.bind_host: 192.168.1.75##z注意,":"后面要加一个空格,否则会报错。
参数配置成功后,如果仍然报相同的错误,请确保防火墙的策略正确,或者防火墙被关闭。
下面有详细的异常信息和其他的一些相关信息。
异常信息:
Exception in thread "main" NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{192.168.1.75}{es/192.168.1.75: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 c11_se.es.EsDemo.main(EsDemo.java:20)
分析:
原因是默认情况下(2.3.x)的transport模块的2个配置发布地址、绑定地址的host是127.0.0.1
启动日志中会打印这两个参数
[xxxx][INFO ][transport ] [Zero] publish_address {127.0.0.1:9300}, bound_addresses {127.0.0.1:9300}, {[::1]:9300}
在_plugin/head界面中也可以查看到这些信息。
Paste_Image.png
。
只需要对这这2个配置进行修改即可。