Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java solr Lucene索引复制失败,错误消息如下_Java_Apache_Solr_Lucene - Fatal编程技术网

Java solr Lucene索引复制失败,错误消息如下

Java solr Lucene索引复制失败,错误消息如下,java,apache,solr,lucene,Java,Apache,Solr,Lucene,运行solr复制时出现以下错误 2013-12-27 05:03:32,391 [explicit-fetchindex-cmd] ERROR org.apache.solr.handler.ReplicationHandler- SnapPull failed :org.apache.solr.common.SolrException: Index fetch failed : at org.apache.solr.handler.SnapPuller.fetchLatestInd

运行solr复制时出现以下错误

2013-12-27 05:03:32,391 [explicit-fetchindex-cmd] ERROR org.apache.solr.handler.ReplicationHandler- SnapPull failed :org.apache.solr.common.SolrException: Index fetch failed :
      at org.apache.solr.handler.SnapPuller.fetchLatestIndex(SnapPuller.java:485)
      at org.apache.solr.handler.ReplicationHandler.doFetch(ReplicationHandler.java:319)
      at org.apache.solr.handler.ReplicationHandler$1.run(ReplicationHandler.java:220)
       Caused by: java.io.EOFException: read past EOF: MMapIndexInput(path="/apps/search/data/customers/solr/solr/adidas-archive/data/index.20131227050332242/segments_a")
      at org.apache.lucene.store.ByteBufferIndexInput.readByte(ByteBufferIndexInput.java:78)
      at org.apache.lucene.store.ChecksumIndexInput.readByte(ChecksumIndexInput.java:41)
      at org.apache.lucene.store.DataInput.readInt(DataInput.java:84)
      at org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:320)
      at org.apache.lucene.index.SegmentInfos$1.doBody(SegmentInfos.java:380)
      at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:812)
      at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:663)
      at org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:376)
      at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:711)
      at org.apache.solr.update.SolrIndexWriter.<init>(SolrIndexWriter.java:77)
      at org.apache.solr.update.SolrIndexWriter.create(SolrIndexWriter.java:64)
      at org.apache.solr.update.DefaultSolrCoreState.createMainIndexWriter(DefaultSolrCoreState.java:267)
      at org.apache.solr.update.DefaultSolrCoreState.newIndexWriter(DefaultSolrCoreState.java:179)
      at org.apache.solr.update.DirectUpdateHandler2.newIndexWriter(DirectUpdateHandler2.java:632)
      at org.apache.solr.handler.SnapPuller.fetchLatestIndex(SnapPuller.java:469)
      ... 2 more

将solr3.x版本升级到4.x以进行升级时,可以使用以下任何方法 1.从头开始重建索引需要花费大量时间 或 2.优化指标

但我在从3.6升级到4.2的过程中发现,如果您的索引大小超过100 Gig,那么在solr 3.6中,我的索引大小超过170 Gig。随着新的压缩技术的实施,从头开始重建索引将更有成效。在Solr4.2中,我的索引大小从170 Gig减少到115 Gig。在优化之后,你的索引会被Solr4.x接受。但指数大小将保持不变

请不要在同一复制系统中使用不同的版本。 如果您过去一直在使用它,请分享详细信息,这将非常有用

问候


rajat

好的,但请告诉我是什么原因导致了此错误,以及需要采取什么措施来缓解此错误?在您的主机上安装一个4.x solr。使用旧版本的索引目录启动它首先关闭旧版本。优化索引,这可能会带来麻烦。请告诉我,如果当前正在运行的复制运行的时间超过两次复制运行之间分配的时间,会有什么影响?下一次运行是否会试图干扰当前正在运行的进程,或者它会看到已经有一个正在运行,因此不会触发下一次运行。我一直试图在文档中搜索它,但没有回答,这是最糟糕的情况。有一次,我在这个场景中度过了一个星期的不眠之夜。请删除自动预热计数,如果已删除,请尝试找出原因。一次进行多个复制会挂起solr,您必须通过杀死tomcat手动重新启动它
ERROR: could not read any segments file in directory
java.io.EOFException: read past EOF: MMapIndexInput(path="/apps/search/data/customers/solr/solr/adidas-archive/data/index.20131227051833263/segments_a") at  org.apache.lucene.store.ByteBufferIndexInput.readByte(ByteBufferIndexInput.java:78)
    at org.apache.lucene.store.ChecksumIndexInput.readByte(ChecksumIndexInput.java:41)