我希望使用 Elastic Search 和 MongoDB 来支持我们的全文搜索需求。我正在努力寻找有关架构和托管的信息,并希望得到一些帮助。我计划在本地而不是在云中托管 ES。我们目前在具有三个节点的副本集中运行 MongoDB。
- 运行 ElasticSearch 需要多少台服务器才能实现高可用性?
- 推荐的服务器规格是什么。目前我的想法是 2 x CPU,4GB RAM,C 盘:40GB,D 盘:40GB
- ES 如何支持故障转移
谢谢
塔里克
我希望使用 Elastic Search 和 MongoDB 来支持我们的全文搜索需求。我正在努力寻找有关架构和托管的信息,并希望得到一些帮助。我计划在本地而不是在云中托管 ES。我们目前在具有三个节点的副本集中运行 MongoDB。
谢谢
塔里克
- 运行 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 个这些分片(副本)的副本。
运行 ElasticSearch 需要多少台服务器才能实现高可用性?
我推荐 3 台具有 3 个复制因子索引的服务器。在一台服务器宕机的情况下会更稳定,加上高负载更好,查询的原因可以通过集群分布。
推荐的服务器规格是什么。目前我的想法是 2 x CPU,4GB RAM,C 盘:40GB,D 盘:40GB
我强烈推荐更多的内存。我们在集群中的每台机器上都有 72Gb,并且 ES 工作得非常顺利(而且我们仍然不会陷入垃圾收集器的问题)
ES 如何支持故障转移
在我们http://indexisto.com的案例中,我们进行了大量测试,并且一些生产集群服务器出现故障。从 3 台服务器开始,万一服务器宕机,没有任何问题。集群中的更多服务器 - 一台服务器故障的影响更小。