ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

SpringBoot项目连接ElasticSearch时报错:None of the configured nodes are available

2022-05-16 18:32:14  阅读:256  来源: 互联网

标签:available None sniff configured client 集群 es transport 客户端


在项目中用到了ElasticSearch,后台使用org.elasticsearch.client.transport.TransportClient连接,使用本机的es测试没问题,但是用部署到公司服务器上的es创建索引报错:None of the configured nodes are available

网上找了好多种解决方案都不适用,最后无意中看到了client.transport.sniff这个参数的介绍,把它设置成false,或者在连接的时候不加这个参数就可以了。看来我们不能只一味地面向百度编程,还要理解每个参数的意思才行。client.transport.sniff为true时,客户端会自动去嗅探整个集群的状态,把集群中其它机器的ip地址加到客户端中。一般你不用手动设置集群里所有集群的ip到连接客户端,它会自动帮你添加,并且自动发现新加入集群的机器,但是要注意的一点,当ES服务器监听(publish_address )使用内网服务器IP,而访问(bound_addresses )使用外网IP时,不要设置client.transport.sniff为true。不设置client.transport.sniff时,默认为false(关闭客户端去嗅探整个集群的状态)。因为在自动发现时会使用内网IP进行通信,导致无法连接到ES服务器。因此此时需要直接使用addTransportAddress方法把集群中其它机器的ip地址加到客户端中(此段话转自“Kevin-林”)。

总结一下,再遇到此类问题的解决方案:

1:检查es集群名称是否正确,检查es的ip和端口号是否正确,端口号是9300tcp协议端口号

2:阿里云等服务器是否已将9300端口号增加到安全组

3:es是否启用了用户名密码登录:.put("xpack.security.user", "用户名:密码")

4:client.transport.sniff参数是否设置正确

 

标签:available,None,sniff,configured,client,集群,es,transport,客户端
来源: https://www.cnblogs.com/JungWoo/p/16277975.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有