使用olivere/elastic/v7库连接带密码的ES库时,为什么会出现“health check timeout”错误?
github.com/olivere/elastic/v7库连接es库时出现问题
在使用elasticsearch时,您使用github.com/olivere/elastic/v7库尝试连接到带密码的es库,但遇到了问题。具体来说,您使用以下代码连接:
client, err = elastic.NewClient( // elastic.SetSniff(false), elastic.SetHealthcheckInterval(10*time.Second), elastic.SetMaxRetries(3), elastic.SetURL("http://xx:9200"), elastic.SetBasicAuth("username", "password"), )
但遇到了 "health check timeout: no elasticsearch node available" 的错误。
解决方法
问题在于,es集群根据不同索引创建了不同的用户。官方库可以使用小权限用户连接集群,而olivere需要使用具有最大权限的帐户才能连接。因此,需要使用具有最大权限的帐户连接es库。
以上就是使用olivere/elastic/v7库连接带密码的ES库时,为什么会出现“health check timeout”错误?的详细内容,更多请关注其它相关文章!