首页 文章

使用以正确方式在节点之间分发副本

提问于
浏览
0

使用Solr v5.5

我们正在尝试使用此 balancer 我们的分片副本展示位置:https://cwiki.apache.org/confluence/display/solr/Rule-based+Replica+Placement

我们定义了一个规则'副本:<5,节点:*'

我们的设置:10个Solr实例20个分片2个复制因子

所以我们想要的是每个实例托管4个不同的分片,作为2的主要分片和2个副本的副本 . 根据我们的规则,这几乎可以工作,尽管总有一些实例最终会为1或2个分片托管两个副本 . 例如

instance0: shard1-replica1
           shard1-replica2
           shard2-replica1
           shard2-replica2
instance1: shard3-replica1
           shard3-replica2
           shard4-replica1
           shard5-replica2

任何想法我们如何改进规则,以防止这种碰撞?

1 回答

  • 0

    因此,在使用不同规则进行一些测试后,我们发现了规则

    shard:*,replica:4,node:*
    

    大多修复了这个问题 . 这似乎考虑了跨多个集合的集群中的每个分片 . 我们有两个集合,因此虽然规则强制一个集合每个节点有4个不同的分片,但它并没有强制执行每个节点2个引导2,这是它之前做的 .

    冗余比每个节点的领导/ balancer 更重要,并且性能似乎是一致的,因此这个解决方案足够好 .

相关问题