使用olivere/elastic库连接带账号密码的Elasticsearch时,如何解决“health check timeout”错误?

使用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其它相关文章!