elasticsearch 使用tcp 访问NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{Yk0WjtKbQXqYCJSDFRYlRA}

时间:2024-01-12 17:03:50

默认的 elasticsearch.yml 端口是9200,是给tcp提供的。如果想使用 自带的  TransportClient 需要配置为 tcp 的9300端口。配置方式为: 在/config/elasticsearch.yml 里面添加:

# 设置节点间交互的tcp端口,默认是9300
#transport.tcp.port: 9300

2.自己的问题

还是 elasticsearch.yml的配置问题

自己把 transport.host配置为了 localhost. 之后使用命令

netstat -tlnp|grep 9304 后 看到

(Not all processes could be identified, non-owned process info

will not be shown, you would have to be root to see it all.)

tcp        0      0 localhost:9304            0.0.0.0:*               LISTEN      13842/java

同事说,这个只能本机能访问到。 之后 telnet ip  9304之后果然是。。。 改为了 0.0.0.0即可。问题解决。

transport.host: 0.0.0.0

transport.tcp.port: 9304

3.Unable to revive connection: http://localhost:9200/

启动kibana报这个问题:原因是 配置在elasticsearch.yml配置了

network.bind_host: 172.16.145.205