我有一个 solr 云(5.2.1),有 5 个分片和 2 个节点。
在这个集群中,我有 163.463.543 个项目。我索引了另外 200.000 个项目,现在集群的两个节点之间的版本/sizeInBytes 不再一致。
shard1 | sizeInBytes | segmentCount | version |
--------------------------------------------------
replica1 | 71325055021 | 14 | 11877844 |
replica2 | 71330161457 | 8 | 11877874 |
shard2 | sizeInBytes | segmentCount | version |
--------------------------------------------------
replica2 | 71658372259 | 9 | 11965329 |
replica1 | 71660446852 | 17 | 11965305 |
shard3 | sizeInBytes | segmentCount | version |
--------------------------------------------------
replica1 | 72328398189 | 24 | 11978919 |
replica2 | 72329934372 | 20 | 11978971 |
shard4 | sizeInBytes | segmentCount | version |
--------------------------------------------------
replica1 | 71398290694 | 10 | 11882893 |
replica2 | 71398972036 | 16 | 11883065 |
shard5 | sizeInBytes | segmentCount | version |
--------------------------------------------------
replica2 | 71635961292 | 16 | 11920521 |
replica1 | 71636668652 | 9 | 11920667 |
当我查看 Web GUI 云状态页面时,一切似乎都很好。知道发生了什么吗/如何修复它?
答案1
我对此事进行了大量研究,我能找到的唯一参考是 Solr 邮件列表中的这封电子邮件: 关联
SolrCloud 的工作方式与旧的主从复制非常不同。除非在极端的恢复情况下,否则索引不会从领导者复制到其他副本。
每个副本都独立于其他副本构建自己的索引副本。由于索引操作的时间略有不同,以及节点重启时可能与事务日志重播相关的操作,每个副本最终可能会有不同的索引布局。删除的文档数量也可能存在差异。除非出现严重问题,否则所有副本都应包含相同的活动文档。
谢谢,肖恩
我自己也遇到过同样的情况。我最近创建了 10 个新的 Solr 集合,每个集合有 2 个副本,将数十万个文档加载到每个集合中,版本不再匹配。似乎版本是 SolrCloud 时代之前的遗留版本,不需要匹配。