我已经设置了一个包含3个碎片的SolrCloud结构。每个碎片由2个节点组成。一个是领袖,另一个是复制品。每个solr实例(作为节点)都在单独的机器中运行。现在,随着数据量的增加,我需要添加更多的机器。但是,如果我添加新节点而不创建新的碎片,它只会增加更多的碎片副本。我希望用新机器创建更多的碎片,数据应该分布在碎片之间。
为了测试目的,我创建了一个带有一个碎片(2个节点)的SolrCloud。我用solr-4.5.1尝试了solr SPLITSHARD。最后,我从管理窗口中看到三个碎片(shard1、shard1_和shard1_1)。现在它显示了总共6个节点。
在后台,它在每个节点下创建了以下文件夹。
node1:
node2:
这意味着,它在每个实例下创建了两个新的核心。但我想在每台机器下运行一个核心。
发布于 2014-01-28 18:13:21
我们也遇到过同样的问题。对于Solr的当前版本,我看到的唯一解决方案是在新机器上添加副本,等待复制完成,并删除原始副本。
此外,如果只分割集合中的一个碎片,则群集将不会均匀分布。所以你必须用同样的因素来分割每个碎片。
发布于 2016-05-23 13:21:55
一旦在创建集合时设置了numShards属性,您的意图就变得不可能了。其他的答案只是描述了分裂的奥刚德不。把碎片变成更多的不。对于碎片,但是数据分布不均匀,例如,假设一个数据以两个碎片开头,比如S1和S2。当在S1上进行拆分时,它变成了S11、S12、S2,S2中的数据比S11、S12多得多.但我认为您想要的是S1 & S2中的数据被平均切割成S11、S12和S2,其中S11、S12和S2在不同的机器上运行在不同的节点上。这在当前Solr (甚至是v6) AFAIK中是不可能的。
您想要的也是我和许多其他Solrcloud用户想要的,我认为这是一个非常正常的意图。让我们期待未来版本的Solrcloud将提供此功能。
https://stackoverflow.com/questions/20421543
复制相似问题