【问题标题】:number of nodes in elasticsearch clusterelasticsearch集群中的节点数
【发布时间】:2018-12-01 18:50:19
【问题描述】:

在我们大学,我们有一个带有 1 个节点的弹性搜索集群。现在我们有钱安装更强大的服务器。我们每天产生 7-10 百万条访问日志。

用什么来创建集群更好:

a. 3 个强大的服务器,每个 64GB 和 16 个 CPU + SSD。
b. 拥有 14 个不太强大的服务器,每个 32GB 和 8CPU +SSD
ps:a&b价格一样。

c.可能是一些建议?

提前谢谢你

【问题讨论】:

  • 据我所知,选项 A 更好(64gb 是推荐的最大容量,我有一些建议不要超过 32gb)。但我不确定它是否非常明确,这很大程度上取决于您的查询
  • 选项 A 是更好的集群配置
  • 您可能会在 AWS 或 azure 上将其 poc,花费 50 美元,然后根据此做出决定

标签: elasticsearch cluster-computing


【解决方案1】:

这取决于场景。对于您描述选项 b 的日志记录案例,对我来说似乎更灵活。让我解释一下我的观点:

  1. 当您处于日志记录方案中时,请实施 hot/warm architecture。您将主要编写和阅读最近的索引。在少数情况下,您希望访问旧数据,并且您可能希望缩小旧索引并关闭甚至更旧的索引。

  2. 设置至少3个master eligble节点,以防止吐脑问题。将相同的节点也配置为协调节点(剩下 11 个节点)

  3. 安装 2 个摄取节点以将摄取工作负载转移到专用节点(剩下 9 个节点)

  4. 安装 3 个热数据节点用于存储最新索引(剩余 6 个节点)

  5. 安装 6 个暖数据节点来保存旧的、缩小的和关闭的索引。 (剩余 0 个节点)

之前的设置只是一个示例。如果

,则应更改节点编号/角色
  1. 如果您需要更多弹性。然后添加更多主节点,增加索引节点的副本数。这也会减少总容量。

  2. 您需要搜索或保存在已关闭索引中的旧数据越多,您需要的暖节点就越多。然后根据您的需要重新平衡热/暖节点数。如果您可以尽早删除旧数据,请增加热节点数。

  3. 如果您有 xpack 许可,请考虑安装 ml/alerting 节点。将此角色添加到主节点或减少数据节点数以支持 ml/alertig。

  4. 您需要 kibana/logstash 吗?根据工作量,专门准备一/两个节点。

假设在这两个选项中都有相同的主板,您更有可能通过添加更多的 ram/cpu/storage 来快速扩展 14 个盒子。如果 3 个节点在规格上已经达到最大值,您需要设置新的盒子并将它们加入集群以扩大规模。但这也可能会在一段时间内为您的机架中提供更新的硬件。

请也看看这个:https://www.elastic.co/pdf/architecture-best-practices.pdf

如果您需要有关分片配置的背景知识,请参阅ElasticSearch - How does sharding affect indexing performance?

顺便说一句:thomas 对堆大小的评论是正确的。想知道背景的可以看一下这个:https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    • 1970-01-01
    相关资源
    最近更新 更多