当elasticsearch在单个服务器上时,是否有必要为非常大的数据设置多个主分片?

问题描述 投票:0回答:2

我在一台服务器上安装了elasticsearch。我想知道当数据非常大时,是否有必要将num_of_shards设置为大于1?我假设我将num_of_shards设置为大于1,但这些分片是在一个磁盘中。当我搜索某些东西时,任务被分配给那些碎片。性能可能低于这个场景设置num_of_shards等于1,我的观点有什么问题吗?

暂时,我只有一台服务器可用。

java elasticsearch elasticsearch-5
2个回答
3
投票

每个分片下面都是一个完整的Lucene索引,并且对于弹性搜索服务请求,它需要按顺序查询每个分片。虽然如果使用SSD可以减轻性能影响,但仍然会影响性能。通常,分片的数量保持多于群集中的节点,因为稍后如果要增加分片数量,则需要重新索引整个数据,这在某些情况下是不可行的。 This文章很好地解释了这一点。


0
投票

我会做一个碎片+一个副本(可能是不同的驱动器),可能有一些理由根据您的使用情况和数据分布进行多个分片 - 但对于大多数情况下,一个碎片应该没问题。

如果您将来添加更多服务器/数据,则较新版本的ES支持dynamic resharding

© www.soinside.com 2019 - 2024. All rights reserved.