服务启动几天后,ES出现 no Elasticsearch node availabe,怎么解决?

发布于 2022-09-11 23:15:38 字数 952 浏览 15 评论 0

问题描述

每次启动服务刚开始请求是没有问题的,但是一段时间以后,就会出现cannot assign requested address:no Elasticsearch node availabe的问题,并且后面再也无法连接上ES, 重启服务后又好了,想知道为什么?

问题出现的环境背景及自己尝试过哪些方法

在docker上拉起一个go后端服务以后,刚开始访问正常,但是一段时间以后,出连接不了ES服务器的问题,具体error log信息如下:

"level":"error","ts":1572062220.1293163,"caller":"basicSearch/searcher_factory.go:24","msg":"初始化ES Client出错, 具体错误信息:","error":"health check timeout: Head https://es.xxxxxxx.com: dial tcp xxx.xx.xx.255:443: connect: cannot assign requested address: no Elasticsearch node available"

尝试过的方法:
将SetSniff设置为false,没用。
怀疑是连接数太多导致的,所以起了500个线程并发去访问,但在本地依然能够处理过来,也就是没有出现上述问题。

相关代码

ES Client配置如下:

    client, err := elastic.NewClient(elastic.SetURL(urls...), elastic.SetSniff(false),
        elastic.SetHttpClient(httpClient), elastic.SetHealthcheck(false))

你期待的结果是什么?实际看到的错误信息又是什么?

不管过多长时间,都能正常连接服务器。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

灯角 2022-09-18 23:15:38

这个报错是因为 es node 找不到了。如果是自建的,看下你的ES集群是否正常、或者你本地与ES的网络是否畅通

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文