Solr 4.7.2未恢复——”;ClusterState说我们是领导者,但在当地我们不';“我不这么认为”;

Solr 4.7.2未恢复——”;ClusterState说我们是领导者,但在当地我们不';“我不这么认为”;,solr,leader,Solr,Leader,一天早上,我的Solr服务器因下面的消息而崩溃,它无法自行恢复-必须重新启动它-这是4.7.2版本的已知问题吗 我的拓扑结构非常简单:带有单个碎片副本的单个Solr和嵌入式ZK(-zkrun) 它是否与4.8补丁有关:SOLR-5799:当注册为leader时,如果存在临时注册,请稍等片刻,看看它是否消失。(马克·米勒) 根据: 这可能是由于多个实例共享相同的状态造成的 目录,这意味着磁盘上的内容不匹配 (如果第二个实例启动并写入它是 当前群集状态)以及zookeeper中存在的内容 也许你有一

一天早上,我的Solr服务器因下面的消息而崩溃,它无法自行恢复-必须重新启动它-这是4.7.2版本的已知问题吗

我的拓扑结构非常简单:带有单个碎片副本的单个Solr和嵌入式ZK(-zkrun)

它是否与4.8补丁有关:SOLR-5799:当注册为leader时,如果存在临时注册,请稍等片刻,看看它是否消失。(马克·米勒)

根据:

这可能是由于多个实例共享相同的状态造成的 目录,这意味着磁盘上的内容不匹配 (如果第二个实例启动并写入它是 当前群集状态)以及zookeeper中存在的内容

也许你有一个例子,Jetty还在某个地方运行,你认为它已经关闭了,但实际上并没有。或者至少这就是我们发现的:

问题是,jetty并没有真正停止,所以我们有2个运行 过程,不管出于什么原因,这对阅读来说是好的,但对阅读来说不是 写作


这似乎不是一个很常见的错误,所以很遗憾很难找到它。从我翻阅邮件列表之类的信息中可以看出,有些人通过增加Zookeeper客户端的
zkClientTimeout
解决了这个问题。如果底层任务需要很长时间,这似乎特别有用,例如GC。

感谢您的回答,我也看到了这个链接,并验证了在发生故障时一个jetty实例正在运行。
ERROR - 2015-03-18 04:48:15.326; org.apache.solr.update.processor.DistributedUpdateProcessor; ClusterState says we are the leader, but locally we don't think so
INFO  - 2015-03-18 04:48:15.327; org.apache.solr.update.processor.LogUpdateProcessor; [quick-results-collection] webapp=/solr path=/update params={wt=javabin&version=2} {} 0 1
ERROR - 2015-03-18 04:48:15.328; org.apache.solr.common.SolrException; org.apache.solr.common.SolrException: ClusterState says we are the leader (http://9.70.210.149:8983/solr/quick-results-collection), but locally we don't think so. Request came from null
    at org.apache.solr.update.processor.DistributedUpdateProcessor.doDefensiveChecks(DistributedUpdateProcessor.java:503)
    at org.apache.solr.update.processor.DistributedUpdateProcessor.setupRequest(DistributedUpdateProcessor.java:267)
    at org.apache.solr.update.processor.DistributedUpdateProcessor.processAdd(DistributedUpdateProcessor.java:550)
    at org.apache.solr.update.processor.LogUpdateProcessor.processAdd(LogUpdateProcessorFactory.java:100)
    at org.apache.solr.handler.loader.JavabinLoader$1.update(JavabinLoader.java:96)
    at org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec$1.readOuterMostDocIterator(JavaBinUpdateRequestCodec.java:166)
    at org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec$1.readIterator(JavaBinUpdateRequestCodec.java:136)
    at org.apache.solr.common.util.JavaBinCodec.readVal(JavaBinCodec.java:225)
    at org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec$1.readNamedList(JavaBinUpdateRequestCodec.java:121)
    at org.apache.solr.common.util.JavaBinCodec.readVal(JavaBinCodec.java:190)
    at org.apache.solr.common.util.JavaBinCodec.unmarshal(JavaBinCodec.java:116)
    at org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec.unmarshal(JavaBinUpdateRequestCodec.java:173)
    at org.apache.solr.handler.loader.JavabinLoader.parseAndLoadDocs(JavabinLoader.java:106)
    at org.apache.solr.handler.loader.JavabinLoader.load(JavabinLoader.java:58)
    at org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:92)
    at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:74)
    at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
    at org.apache.solr.core.SolrCore.execute(SolrCore.java:1916)
    at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:768)
    at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:415)
    at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:205)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)