1

我希望使用 Elastic Search 和 MongoDB 来支持我们的全文搜索需求。我正在努力寻找有关架构和托管的信息,并希望得到一些帮助。我计划在本地而不是在云中托管 ES。我们目前在具有三个节点的副本集中运行 MongoDB。

  1. 运行 ElasticSearch 需要多少台服务器才能实现高可用性?
  2. 推荐的服务器规格是什么。目前我的想法是 2 x CPU,4GB RAM,C 盘:40GB,D 盘:40GB
  3. ES 如何支持故障转移

谢谢

塔里克

4

2 回答 2

4
  1. 运行 ElasticSearch 需要多少台服务器才能实现高可用性?

至少 2

推荐的服务器规格是什么。目前我的想法是 2 x CPU,4GB RAM,C 盘:40GB,D 盘:40GB

这实际上取决于您要索引的数据量,但是 RAM 的数量和(我假设是一个不错的双核 CPU)应该足以让您开始

ES 如何支持故障转移

您设置具有多个节点的集群,使得每个节点都有另一个节点的副本

因此,在一个简单的示例中,您的集群将由两台服务器组成,每台服务器上都有一个节点。您将副本设置为 1,以便节点中的分片将备份副本存储在另一个节点上,反之亦然。

因此,如果一个节点出现故障,elasticsearch 将检测故障并将对该节点的请求路由到另一个节点上的副本,直到您解决问题为止。

当然,作为示例,您可以通过拥有 4 台服务器(每台服务器具有一个节点和 2 个副本)来使其更加健壮。您必须了解的是,elasticsearch 将根据您拥有的分片数量优化副本和主分片的分布。

因此,对于上面的 2 个节点和 1 个副本的示例,假设您添加了 2 个额外的服务器/节点(建议使用 1 个节点/服务器),Elasticsearch 会将副本从节点移到它们自己的节点,这样您就有 2 个节点有 1 个主分片,只有 2 个其他节点,每个节点有 1 个这些分片(副本)的副本。

于 2013-05-23T07:44:16.693 回答
0

运行 ElasticSearch 需要多少台服务器才能实现高可用性?

我推荐 3 台具有 3 个复制因子索引的服务器。在一台服务器宕机的情况下会更稳定,加上高负载更好,查询的原因可以通过集群分布。

推荐的服务器规格是什么。目前我的想法是 2 x CPU,4GB RAM,C 盘:40GB,D 盘:40GB

我强烈推荐更多的内存。我们在集群中的每台机器上都有 72Gb,并且 ES 工作得非常顺利(而且我们仍然不会陷入垃圾收集器的问题)

ES 如何支持故障转移

在我们http://indexisto.com的案例中,我们进行了大量测试,并且一些生产集群服务器出现故障。从 3 台服务器开始,万一服务器宕机,没有任何问题。集群中的更多服务器 - 一台服务器故障的影响更小。

于 2013-11-07T11:45:25.543 回答