使用olivere/elastic库连接带账号密码的Elasticsearch时,如何解决“health check timeout”错误?
elasticsearch连接带账号密码库的连接问题
当使用github.com/olivere/elastic/v7库连接带有账号和密码的elasticsearch库时,出现了"health check timeout: no elasticsearch node available"的错误。
这个问题是由使用小权限用户连接elasticsearch集群引起的。官方库可以使用小权限用户连接集群,而olivere库需要使用最大权限账户才能连接。
为了解决这个问题,需要使用具有足够权限的账户重新初始化客户端。以下是修改后的代码:
client, err = elastic.NewClient( elastic.SetSniff(false), elastic.SetHealthcheckInterval(10*time.Second), elastic.SetMaxRetries(3), elastic.SetURL("http://xx:9200"), // 使用具有最大权限的账户 elastic.SetBasicAuth("admin", "password"), )
以上就是使用olivere/elastic库连接带账号密码的Elasticsearch时,如何解决“health check timeout”错误?的详细内容,更多请关注www.sxiaw.com其它相关文章!