Elasticsearch 7.5.2集群默认仅为索引创建一个分片

问题描述 投票:0回答:2

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

我的集群策略如下:

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

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

[请帮助我查找问题。

elasticsearch sharding elasticsearch-7
2个回答
0
投票

是的。默认情况下,Elasticsearch 7版发布时会创建分片大小为1的索引,如here

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

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

希望这会有所帮助!


0
投票

较早的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不能动态更改。

© www.soinside.com 2019 - 2024. All rights reserved.