【发布时间】:2019-07-25 20:15:46
【问题描述】:
我有六个节点的 solr 集群,每个节点都有 200GB 的存储空间,我们创建了一个包含两个分片的集合。
我想知道如果我的文档达到 400GB (node1-200GB,node-2 200GB) 会发生什么? solr 会自动使用我集群中的另一个空闲节点吗?
【问题讨论】:
标签: solr apache-zookeeper solrcloud solrconfig
我有六个节点的 solr 集群,每个节点都有 200GB 的存储空间,我们创建了一个包含两个分片的集合。
我想知道如果我的文档达到 400GB (node1-200GB,node-2 200GB) 会发生什么? solr 会自动使用我集群中的另一个空闲节点吗?
【问题讨论】:
标签: solr apache-zookeeper solrcloud solrconfig
Ans:我不确定您可能会遇到什么错误,但是在生产中您应该尽量不要面对这种情况。为了避免/处理这种情况,我们有monitoring/autoscaling triggers apis。
Ans:不,不会自动添加额外的分片。但是,每当您发现搜索变慢或 solr 超出机器的物理限制时,您应该选择 splitShard 。
所以最终你可以使用自动缩放触发器来处理这个问题。也就是说,您可以设置autscaling triggers 来识别分片是否超过了关于文档数量或索引大小等的指定限制。一旦达到此限制,可以调用splitShard
This link 提及
此触发器可用于监控集合分片的大小, 通过分片中的文档数量或物理量来衡量 分片索引的大小(以字节为单位)。
当任何一个上限阈值被超过时,触发器将 使用(可配置的)请求操作生成事件以执行 在有问题的分片上 - 默认情况下这是一个 SPLITSHARD 操作。
【讨论】: