web 连接 elasticsearch 中的问题

来源:互联网 发布:mysql查询时间最近的 编辑:程序博客网 时间:2024/06/16 03:37

通过安装head插件,可以通过地址http://localhost:9200/_plugin/head/ 来访问控制台

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.75network.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界面中也可以查看到这些信息。
这里写图片描述
只需要对这这2个配置进行修改即可。

原创粉丝点击