阿汤博客-承接中小企业服务器维护和网站维护,有意者可以联系博主!

docker部署elasticsearch报错None of the configured nodes are available处理

运维维护 62℃ 0评论

之前一直都是通过yum安装es,最近使用docker-compose部署了一个单节点es,java调用9300端口的时候,总是报错:None of the configured nodes are available,网上找了很多文档,都说cluster.name不一致导致,或者端口不正确,但是程序和es的name都是一致,端口也是正确的。

都有点想放弃的时候,终于找到一篇有用的文章,被坑了两周的问题,终于得到了解决。

主要原因:spring-boot项目中使用了client.transport.sniff为true,使客户端去嗅探整个集群的状态,把集群中其它机器的ip地址加到客户端中。这样做的好处是,一般你不用手动设置集群里所有集群的ip到连接客户端,它会自动帮你添加,并且自动发现新加入集群的机器。

处理方式:

1、把client.transport.sniff修改为false关闭嗅探;或者直接使用addTransportAddress方法把集群中其它机器的ip地址加到客户端中。

2、修改ES服务器配置,将publish_host改为服务器的ip而不是docker分配的内部IP

elasticsearch.yml

cluster.name: elasticsearch
network.host: 0.0.0.0
network.publish_host: 192.168.1.200
http.port: 9200
discovery.type: single-node

转载请注明:阿汤博客 » docker部署elasticsearch报错None of the configured nodes are available处理

喜欢 (0)or分享 (0)