Solr Cloud的碎片/副本数量最佳实践

6tdlim6h  于 2022-11-05  发布在  Solr
关注(0)|答案(1)|浏览(215)

我运行的SolrCloud有3个solr和3个zookeeper示例。为了容错,我现在每个solr节点有3个碎片和3个副本。
因此:

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

如果我已经有了3个碎片,为什么还要在3个示例中分布3个副本?

aij0ehis

aij0ehis1#

碎片化对于以下方面非常重要:

1.它允许您水平拆分或缩放内容卷。
1.它允许您跨分片(可能在多个节点上)分布操作(例如索引跟踪),从而提高性能/吞吐量。
复写:复制的目的是确保高可用性和提高搜索查询性能,尽管主要目的通常是提高容错能力。这是通过从不将副本碎片存储在与其主碎片相同的节点上来实现的。

复制的优点:

1.拆分读写负载和操作
1.用于搜索查询的负载分布
1.搜索的高可用性
1.可以创建任意数量的从属示例来扩展查询性能
建议将复制因子至少设置为3,这样即使机架发生故障,一个副本也始终是安全的。

假设您有3个solr服务器示例,分别称为server 1、server 2和server 3。您已经为集合创建了3个碎片。每个服务器上都有一个碎片,分别是server 1上的碎片1、server 2上的碎片2和server 3上的碎片3。
让我们在每台服务器上为每个碎片创建3个副本。
因此,server 1将拥有shard 1,以及其他shard(如shard 2和shard 3)的副本。
如果有2台服务器出现故障,您仍然可以使用一台服务器来存储收集的所有数据。
这就是复制在实现高可用性方面的优点。

相关问题