在ELK中配置number_of_shards和number_of_replicas

Config number_of_shards and number_of_replicas in ELK

一直在研究ELK Stack,运行遇到一个小问题

我一直在阅读所有可能的文档,它非常强调 shardsreplicas 的重要性。 但是它没有说如何配置每一个的数量。我读过一些网站说最好让它保持自动状态,还有一些网站说如何在 5.8 版中配置它但不再有效。

所以,如果有人能向我解释一下,我将不胜感激。

当您create an index, you can configure both values在该索引的设置中:

PUT your-index
{
  "settings": {
    "index.number_of_shards": 3,
    "index.number_of_replicas": 1
  }
}

另请注意,您可以 update the settings 创建索引后,但您只能更新副本数,而不能更新主分片数:

PUT your-index/_settings
{
  "settings": {
    "index.number_of_replicas": 2
  }
}

就这么简单!

@Val 的一个小 Add-on 回答,与主分片相关。

你不能改变主分片的原因是,它会改变数据在主分片之间的分割方式,改变它们会导致 consistent hashing 中断,这是非常流行的技术水平缩放和拆分数据技术。

副本分片只是副本,因此您可以增加和减少,因为它不会对一致性哈希产生任何影响。

如果你想更改主分片,你必须创建一个新索引并使用 alias API and Reindex API 来高效地完成它,