如何向 Elasticsearch 集群添加额外的主分片?

How to add additional primary shards to Elasticsearch cluster?

我有一个包含 7 个节点的集群,我最近注意到我们只使用 5 个主分片,这意味着每个索引 - 我们只使用 7 个节点中的 5 个。 我想为新创建的索引添加两个额外的主分片。

我已将以下内容添加到 elasticsearch.yml 并重新启动集群:

index.number_of_shards: 7 index.number_of_replicas: 0

但是,已经过去了几天,并且出现了一些新的索引 - 我仍然看到它被分成 5 个碎片。任何人都可以解释为什么吗?我在这里缺少一些额外的配置吗?

谢谢!

您必须重新索引受影响的索引。正如我想象的那样,集群中只有 1 个索引。现有索引中的分片数量不能自动更改。

This relative question might help and this question 如果您不想停机,它使用别名和基本上 2 个索引 - 1 个在重新分片之前,1 个在重新分片之后,然后您切换别名以指向您想要的任何索引

如果不创建新索引并重新索引所有数据,则无法添加主分片。

您可以添加副本,但不能在没有重建索引的情况下添加主副本。对于零停机重新索引方案,请选中 this link