如何使用新分片调整现有SolrCloud的大小

时间:2013-12-06 10:26:01

标签: solr solrcloud

我设置了一个有<3个分片的 SolrCloud 结构。每个分片由2个节点组成。一个是领导者,另一个是复制品。每个solr实例(作为节点)在单独的机器中运行。现在我需要在数据量增加时添加更多机器。但是如果我添加新节点而不创建新的分片,它只会增加更多的分片副本。我想使用新机器创建更多分片,数据应该在分片中分发

出于测试目的,我创建了一个带有一个分片(2个节点)的SolrCloud。我用solr-4.5.1尝试了solr SPLITSHARD 。最后,我从管理员窗口中看到总共3个分片( shard1 shard1_0 shard1_1 )。现在它显示了总共6个节点。

在后台,它在每个节点下创建了以下文件夹。

node1:

  1. 的solr / collection1
  2. 的solr / collection1_shard1_0_replica1
  3. 的solr / collection1_shard1_1_replica1
  4. node2:

    1. 的solr / collection1
    2. 的solr / collection1_shard1_0_replica2
    3. 的solr / collection1_shard1_1_replica2
    4. 这意味着,它在每个实例下创建了2个新内核。但我想在每台机器下运行一个核心。

2 个答案:

答案 0 :(得分:1)

我们也遇到了同样的问题。我能看到当前版本的Solr的唯一解决方案是在新机器上添加副本,等待复制完成并删除原始版本。

此外,如果在集合中仅拆分一个分片,则群集将不会均匀分布。所以你必须按相同的因素分割每个分片。

答案 1 :(得分:0)

在创建集合时设置numShards属性后,您的意图就变得不可能了。其他答案仅描述了分裂原始编号。碎片变成更多没有。碎片但数据不会均匀分布,即假设1个数据以2个碎片开始,比如S1和S2。当在S1上分割分片时,S2中的数据变为S11,S12,S2,S2中的数据远大于S11,S12。但我认为你想要的是S1&amp ;; S2被均匀地切割成S11,S12和S2,其中S11,S12和S2在不同机器上的不同节点上运行。这在目前的Solr(甚至v6)AFAIK中是不可能的。

你想要的也是我和许多其他Solrcloud用户想要的,我认为这是一个非常正常的意图。让我们希望Solrcloud的未来版本能够提供这种功能。