0

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

我的集群策略如下:

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

找不到任何限制分片创建索引的集群设置。 在此处输入图像描述 是集群策略的问题还是我在这里遗漏了任何设置?

请帮我找出问题所在。

4

2 回答 2

2

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

此更改的Elasticsearch 链接以及有关SO 答案的更多信息。

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

配置添加到您的elasticsearch.yml

index.number_of_shards: {your desired number of shards}

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

于 2020-03-30T11:12:23.403 回答
1

那是对的。发布版本 7,Elasticsearch 默认创建分片大小为 1 的索引,如此处所述

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

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

希望这可以帮助!

于 2020-03-30T11:14:14.590 回答