我们使用以下自动提交选项运行Solr 3.6的主从设置:
maxDocs:500000
maxTime:600000
我们的索引中有大约500万份文件,占用大约550GB.我们在Amazon EC2 XLarge实例(4个虚拟核心和15GB)上运行主服务器和从服务器.我们没有特别高的写入吞吐量 - 每分钟大约100个新文档.
我们使用Jetty作为容器,分配了6GB.
问题是,一旦提交开始,我们所有的更新请求都会开始超时(我们不会对此框执行查询).提交本身似乎需要大约20-25分钟,在此期间我们无法向Solr添加任何新文档.
以下问题中的答案之一建议使用2个核心并在完全更新后交换它们.然而,这似乎有点过头了.
关于为什么Solr似乎阻止了请求,还有什么我应该看的吗?我乐观地希望配置中有一个"dontBlockUpdateRequestsWhenCommitting"标志,我忽略了......
非常感谢,
根据赏金原因和问题中提到的问题,这里是 Solr 的解决方案:
4.xSolr 具有从Solr 版本开始称为 SolrCloud 的功能。取代了以前的主/从架构,现在有领导者和副本。领导者负责索引文档,副本负责回答查询。系统由Zookeeper管理。如果领导者出现故障,其副本之一将被选为新的领导者。
总而言之,如果您想自动划分索引过程,SolrCloud 是可以的,因为每个分片都存在一个领导者,并且他们负责为其分片的文档建立索引。当您向系统发送查询时,会有一些 Solr 节点(当然,如果 Solr 节点超过分片计数)不负责索引,但准备回答查询。当您添加更多副本时,您将获得更快的查询结果(但在索引等时会导致更多的入站网络流量)
| 归档时间: |
|
| 查看次数: |
1158 次 |
| 最近记录: |