在ELK中配置number_of_shards和number_of_replicas

red*_*lus 7 cluster-computing elasticsearch elastic-stack elk elasticsearch-7

我一直在研究ELK Stack,遇到了一个小问题。

我已经阅读了所有可能的文档,它非常强调分片副本的重要性。但没有地方说如何配置每一个的数量。我读过一些网站说最好将其保留为自动,而其他网站则说如何在 5.8 版本中配置它,但不再有效。

因此,如果有人可以向我解释,我将非常感激。

Val*_*Val 8

创建索引时,您可以在该索引的设置中配置这两个值:

PUT your-index
{
  "settings": {
    "index.number_of_shards": 3,
    "index.number_of_replicas": 1
  }
}
Run Code Online (Sandbox Code Playgroud)

另请注意,您可以在创建索引后更新其设置,但只能更新副本数量,而不能更新主分片数量:

PUT your-index/_settings
{
  "settings": {
    "index.number_of_replicas": 2
  }
}
Run Code Online (Sandbox Code Playgroud)

就如此容易!


Ami*_*wal 6

只是 @Val 答案的一个小附加组件,与主分片相关。

无法更改主分片的原因是,它将改变数据在主分片之间分割的方式,并且更改它们将导致一致性哈希破坏,这是一种非常流行的水平扩展和分割数据技术。

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

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