我有3个不同的服务器,每个服务器上有1个ES 6.0实例,另一个服务器有nodejs,可以查询。
在我刚更改的每台服务器上:
discovery.zen.ping.unicast.hosts : [ LIST_ES_IP ]
discovery.zen.minimum_master_nodes: 2
我的问题是,经过一段时间(未定义),我从nodejs服务器发出超时错误。但如果我打电话
curl -XGET 'IP:9200/_cluster/health?pretty'
在同一台服务器上,我可以看到ES工作正常。
如果我从群集中删除一个服务器(注释前2个配置行),并仅对其进行查询,则所有服务器都可以正常工作。我从来没有超时。
我是否需要更改另一个配置才能使此群集正常工作? 您是否了解我为什么只在群集模式下超时?
提前致谢,
答案 0 :(得分:0)
显然这是 elasticsearch-js 客户端的原因,因为我重新激活群集,但将主机定义为
"IP:9200"
现在可以工作3个小时。
在我
之前[ "IP1:9200", "IP2:9200", "IP3:9200" ]
我尝试
[ {host: "IP", port: 9200}, {...} ]
但是也要超时......
如果一台服务器出现故障,那么无法回滚吗?