【发布时间】:2017-07-23 00:31:33
【问题描述】:
背景:我们的Zookeeper 机器中有三分之二发生故障,导致我的SOLR 系统崩溃。我添加了新的Zookeeper 机器并使用新的Zookeeper 机器更新了每个SOLR 机器配置。
在此之后,我启动了SOLR 并使用管理页面查询*:*,每次查询池返回不同的数字。
因此,我清除了 SOLR 云中的所有记录并运行 batch-job 以再次将所有数据从 Oracle 填充到 SOLR。 (一切看起来都不错)。
问题:我有一个每日batchjob,它会将SOLR 更新为来自Oracle 的DELTA(Inserts + Updates)。
从这个实例开始。 SOLR 池中的数字与 DELTA(insert + update) 不匹配。例如:即使一天更新或插入了 1000 条记录,SOLR 计数也相差超过 10000。
*:* 返回的数字不匹配。我们已尝试多次清除记录。当我们在清除后第一次插入记录时情况看起来不错,但是一旦开始发生更新,数字就会不匹配。
没有重复记录。如果我查询特定记录,我们会得到正确的记录,但分面编号也是错误的。
索引文件是否损坏?
【问题讨论】:
-
1.集群有多少个 Solr 实例? 2. 多少分片? 3.你如何做索引?通过 SolrJ 或其他方式?
-
集群中有 25 个实例,3 个 Shard。我有一个 Spring 批处理作业,它读取记录并在
SOLR中更新它们 -
zk 是否跟踪了所有实例的正确状态?
-
@s.xie,是的。并且新的 zk 也有所有的实例。云看起来不错。
-
没有什么可以从这些事实中敲响警钟。几点建议: 1. solr 配置提交策略。 2. 检查 solr 日志,如果复制正确完成。 3. 可能在退出 zk ensemble 时重建 solr?
标签: solr apache-zookeeper solrcloud cassini