no active connection found: no Elasticsearch nodeavailable当您继续在客户端中进行嗅探但群集没有可用节点时,通常会发生错误。您可以通过点击来检查集群的状态
http://host:port/_nodes/http?pretty=true。
如果您
elastic不禁用嗅探功能,则Golang客户端将在后台运行进程,该进程
/_nodes每15分钟轮询一次API(上面的URL)并维护正常节点列表。如果没有健康的节点,则以该错误结束。
当您的集群配置有私有IP时,也会发生这种情况(注意:我们在OP上进行了调试,我们调试了问题)(因此在
/_nodesAPI输出中,您看到的是私有IP,而不是公共IP)。具有嗅探功能的客户端开始轮询,获取节点列表并尝试连接到专用IP,但由于该节点无响应(甚至无法在客户端所在的网络中解决)而收到HTTP错误。因此,它标志着它已经死了并发展到另一个。当群集中没有其他节点时,它将报告
noactive connection found: no Elasticsearch node available。
要在客户端禁用嗅探(并直接连接到指定节点-但没有任何d性),您需要添加
&sniff=false到Elastic URL。
可以这样进行连接:
config, _ := config.Parse("http://user:pwd@host:port/index&sniff=false")client, _ := elastic.NewClientFromConfig(config)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)