gpt4 book ai didi

solr - 使用 Solr Cloud 的分片/副本数量的最佳实践

转载 作者:行者123 更新时间:2023-12-04 03:55:36 29 4
gpt4 key购买 nike

我正在运行带有 3 个 solr 和 3 个 zookeeper 实例的 SolrCloud。为了容错,我现在每个 solr 节点有 3 个分片和 3 个副本。

所以:

numShards [3]
maxShardsPernode[3]
autoAddReplicas [false]
replicationFactor [3]
nrtReplicas[3]

这是推荐的吗?如果我已经有 3 个分片,为什么我还需要分布在 3 个实例中的那个分片的 3 个副本?

最佳答案

分片对于以下方面很重要:

  1. 它允许您水平拆分或缩放内容量。
  2. 它允许您分发操作,例如索引跟踪,跨分片(可能在多个节点上)因此增加性能/吞吐量。

复制:复制的目的是确保高可用性和提高搜索查询性能,尽管主要目的通常是提高容错能力。这是通过从不将副本分片存储在与其主分片相同的节点上来实现的。

复制的优点:

  1. 拆分读取和写入负载和操作
  2. 搜索查询的负载分布
  3. 搜索的高可用性
  4. 可以创建任意数量的从属实例以扩展查询性能

建议将复制因子至少设置为 3,这样即使机架出现问题,一个副本也始终是安全的。

solr cloud arch diag

假设您有 3 个 solr 服务器实例,分别称为 server1、server2 和 server3。您已经为您的收藏创建了 3 个碎片。每个服务器上都有一个分片,作为服务器 1 上的 Shard1,服务器 2 上的 shard2 和 server3 上的 shard3。

让每台服务器上的每个分片有 3 个副本。

因此您的服务器 1 将拥有分片 1,它是分片 2 和分片 3 等其他分片的副本。其他服务器也是如此。

如果 2 台服务器出现故障,您仍然有一台服务器包含您收集的所有数据。

这就是复制在实现高可用性方面的美妙之处。

关于solr - 使用 Solr Cloud 的分片/副本数量的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63961255/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com