【问题标题】:Elasticsearch 7.5.2 cluster is creating only one shard for an index by defaultElasticsearch 7.5.2 集群默认只为索引创建一个分片
【发布时间】:2020-03-30 10:58:33
【问题描述】:

我有一个新设置的 Elasticsearch 7.5.2 集群。当我创建索引时,默认只创建一个分片。

我的集群策略如下:

Total Nodes: 5
--------------
Node 1 & Node 2 - Master Only
Node 3          - Master & Data Node
Node 4 & Node 5 - Data Only

找不到任何限制分片创建索引的集群设置。 是集群策略的问题还是我在这里缺少任何设置?

请帮我找出问题。

【问题讨论】:

    标签: elasticsearch sharding elasticsearch-7


    【解决方案1】:

    早期 Elasticsearch 的默认主分片数为 5,这与您使用的 Elasticsearch 7.X 不同,因此您只能看到 1 个主分片。

    Elasticsearch link 了解此更改以及有关this SO 答案的更多信息。

    除了适用于特定索引的 API(@Kamal 已经提到)之外,您可以在您的 elasticsearch.yml 中指定此设置,这将对创建的每个索引有效,直到您使用 API 调用覆盖。

    配置添加到您的elasticsearch.yml

    index.number_of_shards: {your desired number of shards}
    

    注意:这是针对不能动态更改的主分片,因此请谨慎设置,与可以动态更改的the number of replicas不同。

    【讨论】:

      【解决方案2】:

      没错。发布版本 7,Elasticsearch 默认创建分片大小为 1 的索引,如上所述 here

      在创建索引时,您始终可以使用以下设置指定索引分片。

      PUT <your_index_name>
      {
          "settings" : {
              "index" : {
                  "number_of_shards" : 5
              }
          }
      }
      

      希望这会有所帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-11-23
        • 2014-10-02
        • 1970-01-01
        • 2022-01-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多