【问题标题】:ElasticSearch index has thousands of shardsElasticSearch 索引有数千个分片
【发布时间】:2023-02-02 22:03:15
【问题描述】:

_search 端点的请求返回以下内容:

{
    "took": 303,
    "timed_out": false,
    "num_reduce_phases": 12,
    "_shards": {
        "total": 6121,
        "successful": 6121,
        "skipped": 0,
        "failed": 0
    },

分片的数量周期性地增加。 什么会导致分片数量增加到这样?我没有看到任何明确添加分片的证据。

更新分片的数量是针对所有索引的,而不是特定于该索引的。 大量的分片仅仅是因为在没有适当的删除策略的情况下添加了几个每日日志索引。

【问题讨论】:

  • 你有多少个索引,你有每日索引吗?根据您的索引模板,每个索引都会有一些与之关联的分片。您是否正确删除了旧索引?尝试向 _cat/indices?v 端点发出请求

标签: elasticsearch


【解决方案1】:

分片是在创建索引时设置的,具体取决于 elasticsearch 版本,默认值可能会更改。

对于最后一个版本,它是 1 个主分片和 1 个副本,这意味着每个索引将使用 2 个分片。您可以在创建索引后更改副本数,但不能更改主副本数。

那么例如,如果您有 2 个主分片和 3 个副本索引,您将总共有 8 个分片(2 pri + 2 pri * 3 rep = 8)

看到分片增加的常见原因是您每天摄取 1 个索引。许多摄取工具会使用当前日期作为索引名称,导致每天生成一个新索引。

您可以在此处阅读有关分片的更多信息:

https://www.elastic.co/blog/how-many-shards-should-i-have-in-my-elasticsearch-cluster

【讨论】:

    猜你喜欢
    • 2018-04-10
    • 1970-01-01
    • 2017-06-29
    • 2016-07-28
    • 2012-04-14
    • 1970-01-01
    • 2019-12-17
    • 2019-04-12
    • 2020-01-17
    相关资源
    最近更新 更多