Solr节点在完全索引后挂起恢复状态-solr写限制

问题描述 投票:0回答:1

我正在运行带有9个副本和1个分片的Solr 7.6。

当我们运行完全索引时,很少有节点进入恢复模式并永远停留在恢复状态。

我们总共有9万个父文档,每个父文档有300个子文档。

parent doc size: 15kB
child doc size: 500B
total time of full indexing: 36-39 mins
batch size: max 1000(parent docs which include 300 children each) = 1000*300
The number of threads used for full indexing: 10
Average total docs indexed/second: 2400 Parent docs * 300 children

提交设置:

autosoftcommit maxtime: 30s
autocommit maxtime: 1min
numRecordsToKeep: 100

十个线程中的每个线程都从Cassandra获取数据并创建要建立索引的文档,一旦线程在其缓冲区列表中有1000个准备好建立索引的父文档(具有300个子对象),它将使用更新API将数据推送到Solr。

使用上述设置,当我运行完全索引作业时,有2-3个节点进入恢复状态。

我有几个问题:

  1. 根据我的文档大小,单个分片solr集群每秒可以索引的记录数是多少?
  2. 是否需要减少线程数?或批量大小?
solr solrcloud throttling
1个回答
0
投票

我们在几个Solr项目中遇到了类似的问题,这些项目在提交大量更新的同时运行了几个线程。我们能够通过停止SolrCloud中的所有Solr实例,然后使用一个线程重新启动更新来解决该问题。由于某些原因,如果有多个并发进程同时提交更新,Solr有时无法与领导者保持其追随者副本的最新状态。

© www.soinside.com 2019 - 2024. All rights reserved.