使用Solr v5.5
我们正在尝试使用以下方法平衡我们的分片副本展示位置: https://cwiki.apache.org/confluence/display/solr/Rule-based+Replica+Placement
我们已经定义了一个规则'replica:< 5,node:*'
我们的设置: 10个Solr实例 20个碎片 2复制因子
所以我们想要的是每个实例托管4个不同的分片,主要用于2,副本用于2个。根据我们的规则,这几乎可以工作,尽管总有一些实例最终会为1或2个分片托管两个副本。 e.g。
instance0: shard1-replica1
shard1-replica2
shard2-replica1
shard2-replica2
instance1: shard3-replica1
shard3-replica2
shard4-replica1
shard5-replica2
我们如何改进规则以防止这种冲突?
答案 0 :(得分:0)
因此,在使用不同规则进行一些测试后,我们发现了规则
shard:*,replica:4,node:*
主要解决了这个问题。这似乎考虑了跨多个集合的集群中的每个分片。我们有两个集合,所以虽然规则强制一个集合每个节点有4个不同的分片,但它并没有强制执行2个引导+ 2个跟随每个节点,这是它之前做过的。
冗余比每个节点的领导/平衡更重要,并且性能似乎是一致的,所以这个解决方案已经足够好了。