群集

时间:2017-12-19 17:12:11

标签: node.js elasticsearch timeout

我有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个配置行),并仅对其进行查询,则所有服务器都可以正常工作。我从来没有超时。

我是否需要更改另一个配置才能使此群集正常工作? 您是否了解我为什么只在群集模式下超时?

提前致谢,

1 个答案:

答案 0 :(得分:0)

显然这是 elasticsearch-js 客户端的原因,因为我重新激活群集,但将主机定义为

"IP:9200"

现在可以工作3个小时。

在我

之前
[ "IP1:9200", "IP2:9200", "IP3:9200" ]

我尝试

[ {host: "IP", port: 9200}, {...} ]

但是也要超时......

如果一台服务器出现故障,那么无法回滚吗?