elasticsearch 在计划弹性集群的分片数量时遇到问题

pvcm50d1  于 2023-06-21  发布在  ElasticSearch
关注(0)|答案(1)|浏览(110)

我计划将数据存储到Elasticsearch集群中,并且在决定使用多少分片时遇到了问题。我们计划使用四年前的住房数据,并希望每天划分每个指数,这将导致大约1460个指数。据我所知,你需要和索引一样多的分片。我读到过,每20- 30 GB的堆空间应该有一个分片,而堆空间将不到RAM的一半。那么,我是否准确地假设我们需要大约30 G * 1460个分片= 43800 G * 2 = 87.6TB RAM?这听起来不太对劲有人能帮我说清楚我哪里说错了吗?我已经做了大量的谷歌搜索,甚至已经谈到了聊天gpt关于这个哈哈。如果以上是准确的,我会很乐意从每日指数巩固到更现实的东西。我认为运行一个日-月-年的索引在弹性中是很常见的。

uhry853o

uhry853o1#

不是每片30 GB,可能是每片30:)

我分享了一些最佳实践,希望能有所帮助。
一个好的经验法则是确保每个节点的分片数量保持在它配置的每GB堆20个以下。

注意:“目标是每GB堆内存20个分片或更少”的经验法则在版本8.3中已被弃用。此博客已更新,以反映新的建议。https://www.elastic.co/blog/how-many-shards-should-i-have-in-my-elasticsearch-cluster

30 G * 1460个分片 * 2(1个主分片+ 1个副本分片)=您需要的87.6TB磁盘空间。
根据您的需要,您可以在不同的数据层上保留索引。例如,如果您在过去24小时内频繁搜索,则可以决定将分片在热节点上保留24小时。之后,使用ILM策略,您可以翻转索引并将分片分配给warm节点。

**热层:**更多硬件资源和更快的存储(SSD)
**热层或冷层:**带硬盘的中间硬件资源-如果热硬件和冷硬件之间没有区别,请不要同时使用这两种资源
**冻结层:**付费功能-需要许可证才能使用可搜索快照。
**删除:**快照后删除https://www.elastic.co/guide/en/elasticsearch/reference/current/data-tiers.html
分片大小在10 GB到50 GB之间https:www.elastic.co/guide/en/elasticsearch/reference/current/size-your-shards.html#shard-size-recommendation
符合Master条件的节点每3000个索引应至少有1GB的堆https:www.elastic.co/guide/en/elasticsearch/reference/current/size-your-shards.html#shard-count-recommendation

请注意,Elasticsearch版本之间的建议会发生变化,就像我上面分享的例子一样。祝你好运!

相关问题