什么时候应该转移到多节点Elasticsearch集群?

时间:2018-10-09 11:50:48

标签: elasticsearch lucene

我有一个具有32GB内存和Quad Core 3.2GZ CPU的节点。我正在使用单节点ElasticSearch6.2.1(ES)集群,并将16GB内存分配给ES。我正在使用ES进行目录搜索。它工作正常,但有时(每月2-3次)ES变得不堪重负,响应速度太慢,并且当时CPU利用率已达到100%(ES使用主要部分),直到重新启动ElasticSearch为止,它都没有响应。 / p>

我已经检查了所有查询,而且还可以。在我的单节点群集中,有14个索引,平均50,000个文档。

我需要知道是否应该在集群中添加一个额外的节点?

我的好奇心还包括:-是否有观察到我应该决定添加新节点的参数,例如索引大小,到ES的流量等?

我的普遍性问题是:-什么时候应该移至多节点Elasticsearch集群?

1 个答案:

答案 0 :(得分:1)

如果您只有一个节点,那么它实际上不是集群,而仅仅是一个节点。

  • 首先,由于许多问题,可能会导致性能问题:高内存,太多请求……我建议您首先评估一下高负载时请求的数量(netstat计算机),并检查分配的内存是否已在JVM中消耗(使用jconsole或查看日志)。还要注意您的映射以进行全文本搜索(建议中的文本字段),这可能会占用大量内存。如果您认为问题与连接数有关,那么您绝对应该具有多节点群集配置。如果问题与内存有关,则您必须调整映射或增加分配的内存,而不仅仅是添加节点。
  • 关于集群的第二点,在我看来,您至少应拥有2台服务器。这是为了冗余。如果一台服务器不再响应,这将避免大多数服务丢失问题。您不应该等待扩展集群。还要进行定期检查,以查看该服务是否仍在一台计算机上,如果没有,则该服务会自动重新启动服务或发送一封电子邮件,以便您能够手动重新启动。