首页 > 解决方案 > Elasticsearch 7.5.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

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

请帮我找出问题所在。

标签: elasticsearchshardingelasticsearch-7

解决方案


早期 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可以动态更改的不同。


推荐阅读