【问题标题】:How to merge shards in ElasticSearch如何在 ElasticSearch 中合并分片
【发布时间】:2017-07-29 15:20:24
【问题描述】:

几个月前我启动了一个 ElasticSearch 实例,但我高估了平均分片的大小。我的碎片相当小,现在最大 400mb。我发现推荐的尺寸应该是大约。 50gb(基于 stackoverflow 搜索)。我也用完了最大分片数,我不得不重新配置它。但正确的做法是改变分片的逻辑,基本上使分片更大。在我的情况下这是完全可行的,但问题是如何处理已经存在的碎片。我当然可以重播数据,但这需要很多时间。那么有没有更好的方法来将较小的分片合并成大的分片?

【问题讨论】:

  • 您好,您有几个选择。 Shrink API 是@moliware 提到的其中之一。您还可以尝试使用_reindex API 合并索引和限制分片数量您可以查看here 以了解如何限制索引数量的示例

标签: elasticsearch


【解决方案1】:

据我所知,您无法即时合并碎片。这曾经是您必须重新索引数据的情况之一。

Elasticsearch 现在提供了一种让这种情况变得不那么痛苦的方法。 Shrink API 允许您创建一个新索引,其主分片数是源索引的主分片数的一个因子。例如,如果您的索引有 12 个分片,则缩小的索引可以有 6、4、2、1 个主分片。

希望对你有帮助!

【讨论】:

  • 谢谢。这对我有帮助。
猜你喜欢
  • 2022-01-04
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-04
  • 1970-01-01
  • 2014-07-02
相关资源
最近更新 更多