Question

Je suis un problème très étrange ici, j'ai mis en place mon architecture solrienne comme je suppose ici et tout fonctionne bien, sauf pour que ma machine à esclave Solr est corrompue. La configuration (test) est la suivante:

SOLR Configuration

  • Un maître Solr avec deux noyaux (Reindex et Live)
  • Un esclave SOLR avec deux cœurs (Reindex et Live)
  • PollInterval Set to 00:00:02
  • se réplique après une optimisation ou une validation
  • Running Solr sous Ubuntu (11.10) version 1.4.0.

le processus

Le processus entier va comme ça:

  1. Nous essuions l'index sur le Master Reindex Core
  2. Nous Désactiver la réplication sur le maître pour le noyau Reindex
  3. Nous commençons les données MySQL importées DataIMPorTlandler dans les peices de 10.000 documents (pour empêcher de longues serrures MySQL)
  4. AFTHER Le DataIMPORTHANDLER est effectué (4 millions d'enregistrements), nous activons la réplication sur le maître
  5. Les esclaves vont chercher le nouveau noyau Reindex du maître
  6. Une fois La récupération est effectuée en regardant la propriété "Isreplicate" Émettez un Swap de noyau
  7. Supposons que le noyau en direct comptait 5000 documents et le Reindex Core 20000 après une reconstruction complète.

    le (mauvais) résultat

    Après l'échange, ceci est le résultat:

    Master: Live (20000), Reindex (5000) Esclave: Live (20000), Reindex (20000)

    On dirait que l'esclave copie son noyau réindex au noyau en direct mais n'échange pas le noyau en direct avec le noyau Reindex comme le Maître. Le problème est que je suppose que l'esclave pense qu'il est plus récent que le maître et le résultat est une réplication est mort sur le noyau Reindex.

    Voici quelques messages de journal exactement après que l'échange soit émis:

    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller fetchLatestIndex
    INFO: Master's version: 1328526603592, generation: 332
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller fetchLatestIndex
    INFO: Slave's version: 1328526603596, generation: 336
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller fetchLatestIndex
    INFO: Starting replication process
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller fetchLatestIndex
    INFO: Master's version: 1328526603596, generation: 336
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller fetchLatestIndex
    INFO: Slave's version: 1328526603592, generation: 332
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller fetchLatestIndex
    INFO: Starting replication process
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller fetchLatestIndex
    INFO: Number of files in latest index in master: 1
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller fetchLatestIndex
    INFO: Number of files in latest index in master: 11
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller downloadIndexFiles
    INFO: Skipping download for /usr/share/solr/data/index/_ct.tvx
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller downloadIndexFiles
    INFO: Skipping download for /usr/share/solr/data/index/_ct.fdt
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller downloadIndexFiles
    INFO: Skipping download for /usr/share/solr/data/index/_ct.frq
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller downloadIndexFiles
    INFO: Skipping download for /usr/share/solr/data/index/segments_9c
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller downloadIndexFiles
    INFO: Skipping download for /usr/share/solr/data/index/_ct.fdx
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller downloadIndexFiles
    INFO: Skipping download for /usr/share/solr/data/index/_ct.prx
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller downloadIndexFiles
    INFO: Skipping download for /usr/share/solr/data/index/_ct.tii
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller downloadIndexFiles
    INFO: Skipping download for /usr/share/solr/data/index/_ct.tvd
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller downloadIndexFiles
    INFO: Skipping download for /usr/share/solr/data/index/_ct.tis
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller$FileFetcher fetchPackets
    WARNING: No content recieved for file: {name=segments_98, lastmodified=0, size=0}
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller downloadIndexFiles
    INFO: Skipping download for /usr/share/solr/data/index/_ct.tvf
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller downloadIndexFiles
    INFO: Skipping download for /usr/share/solr/data/index/_ct.fnm
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller fetchLatestIndex
    INFO: Total time taken for download : 0 secs
    13-mrt-2012 14:29:46 org.apache.solr.update.DirectUpdateHandler2 commit
    INFO: start commit(optimize=false,waitFlush=true,waitSearcher=true,expungeDeletes=false)
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller fetchLatestIndex
    INFO: Total time taken for download : 0 secs
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller modifyIndexProps
    INFO: New index installed. Updating index properties...
    13-mrt-2012 14:29:46 org.apache.solr.update.DirectUpdateHandler2 commit
    INFO: start commit(optimize=false,waitFlush=true,waitSearcher=true,expungeDeletes=false)
    13-mrt-2012 14:29:46 org.apache.solr.search.SolrIndexSearcher <init>
    INFO: Opening Searcher@598d00 main
    13-mrt-2012 14:29:46 org.apache.solr.search.SolrIndexSearcher warm
    INFO: autowarming Searcher@598d00 main from Searcher@189c12a main
        fieldValueCache{lookups=0,hits=0,hitratio=0.00,inserts=0,evictions=0,size=0,warmupTime=0,cumulative_lookups=0,cumulative_hits=0,cumulative_hitratio=0.00,cumulative_inserts=0,cumulative_evictions=0}
    13-mrt-2012 14:29:46 org.apache.solr.search.SolrIndexSearcher warm
    INFO: autowarming result for Searcher@598d00 main
        fieldValueCache{lookups=0,hits=0,hitratio=0.00,inserts=0,evictions=0,size=0,warmupTime=0,cumulative_lookups=0,cumulative_hits=0,cumulative_hitratio=0.00,cumulative_inserts=0,cumulative_evictions=0}
    13-mrt-2012 14:29:46 org.apache.solr.search.SolrIndexSearcher warm
    INFO: autowarming Searcher@598d00 main from Searcher@189c12a main
        filterCache{lookups=0,hits=0,hitratio=0.00,inserts=0,evictions=0,size=34,warmupTime=1,cumulative_lookups=0,cumulative_hits=0,cumulative_hitratio=0.00,cumulative_inserts=0,cumulative_evictions=0}
    13-mrt-2012 14:29:46 org.apache.solr.update.DirectUpdateHandler2 commit
    INFO: end_commit_flush
    13-mrt-2012 14:29:46 org.apache.solr.handler.ReplicationHandler doFetch
    SEVERE: SnapPull failed 
    org.apache.solr.common.SolrException: Index fetch failed : 
        at org.apache.solr.handler.SnapPuller.fetchLatestIndex(SnapPuller.java:329)
        at org.apache.solr.handler.ReplicationHandler.doFetch(ReplicationHandler.java:264)
        at org.apache.solr.handler.SnapPuller$1.run(SnapPuller.java:159)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:165)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)
    Caused by: java.lang.RuntimeException: java.io.IOException: read past EOF
        at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1069)
        at org.apache.solr.update.DirectUpdateHandler2.commit(DirectUpdateHandler2.java:418)
        at org.apache.solr.handler.SnapPuller.doCommit(SnapPuller.java:467)
        at org.apache.solr.handler.SnapPuller.fetchLatestIndex(SnapPuller.java:319)
        ... 10 more
    Caused by: java.io.IOException: read past EOF
        at org.apache.lucene.store.BufferedIndexInput.refill(BufferedIndexInput.java:151)
        at org.apache.lucene.store.BufferedIndexInput.readByte(BufferedIndexInput.java:38)
        at org.apache.lucene.store.ChecksumIndexInput.readByte(ChecksumIndexInput.java:36)
        at org.apache.lucene.store.IndexInput.readInt(IndexInput.java:68)
        at org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:243)
        at org.apache.lucene.index.DirectoryReader$1.doBody(DirectoryReader.java:76)
        at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:683)
        at org.apache.lucene.index.DirectoryReader.open(DirectoryReader.java:73)
        at org.apache.lucene.index.IndexReader.open(IndexReader.java:476)
        at org.apache.lucene.index.IndexReader.open(IndexReader.java:403)
        at org.apache.solr.core.StandardIndexReaderFactory.newReader(StandardIndexReaderFactory.java:38)
        at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1058)
        ... 13 more
    13-mrt-2012 14:29:46 org.apache.solr.search.SolrIndexSearcher warm
    INFO: autowarming result for Searcher@598d00 main
        filterCache{lookups=0,hits=0,hitratio=0.00,inserts=0,evictions=0,size=34,warmupTime=10,cumulative_lookups=0,cumulative_hits=0,cumulative_hitratio=0.00,cumulative_inserts=0,cumulative_evictions=0}
    13-mrt-2012 14:29:46 org.apache.solr.core.SolrCore registerSearcher
    INFO: [live] Registered new searcher Searcher@598d00 main
    13-mrt-2012 14:29:46 org.apache.solr.search.SolrIndexSearcher close
    INFO: Closing Searcher@189c12a main
        fieldValueCache{lookups=0,hits=0,hitratio=0.00,inserts=0,evictions=0,size=0,warmupTime=0,cumulative_lookups=0,cumulative_hits=0,cumulative_hitratio=0.00,cumulative_inserts=0,cumulative_evictions=0}
        filterCache{lookups=0,hits=0,hitratio=0.00,inserts=0,evictions=0,size=34,warmupTime=1,cumulative_lookups=0,cumulative_hits=0,cumulative_hitratio=0.00,cumulative_inserts=0,cumulative_evictions=0}
    13-mrt-2012 14:29:46 org.apache.solr.handler.SnapPuller doCommit
    INFO: Force open index writer to make sure older index files get deleted
    13-mrt-2012 14:29:46 org.apache.solr.handler.ReplicationHandler doFetch
    SEVERE: SnapPull failed 
    org.apache.solr.common.SolrException: Index fetch failed : 
        at org.apache.solr.handler.SnapPuller.fetchLatestIndex(SnapPuller.java:329)
        at org.apache.solr.handler.ReplicationHandler.doFetch(ReplicationHandler.java:264)
        at org.apache.solr.handler.SnapPuller$1.run(SnapPuller.java:159)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:165)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)
    Caused by: java.io.IOException: read past EOF
        at org.apache.lucene.store.BufferedIndexInput.refill(BufferedIndexInput.java:151)
        at org.apache.lucene.store.BufferedIndexInput.readByte(BufferedIndexInput.java:38)
        at org.apache.lucene.store.ChecksumIndexInput.readByte(ChecksumIndexInput.java:36)
        at org.apache.lucene.store.IndexInput.readInt(IndexInput.java:68)
        at org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:243)
        at org.apache.lucene.index.SegmentInfos$1.doBody(SegmentInfos.java:309)
        at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:683)
        at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:517)
        at org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:306)
        at org.apache.lucene.index.IndexWriter.init(IndexWriter.java:1596)
        at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:1418)
        at org.apache.solr.update.SolrIndexWriter.<init>(SolrIndexWriter.java:191)
        at org.apache.solr.update.UpdateHandler.createMainIndexWriter(UpdateHandler.java:98)
        at org.apache.solr.update.DirectUpdateHandler2.openWriter(DirectUpdateHandler2.java:173)
        at org.apache.solr.update.DirectUpdateHandler2.forceOpenWriter(DirectUpdateHandler2.java:376)
        at org.apache.solr.handler.SnapPuller.doCommit(SnapPuller.java:471)
        at org.apache.solr.handler.SnapPuller.fetchLatestIndex(SnapPuller.java:319)
        ... 10 more
    

    jusqu'à l'étape 6, tout va bien si je fais tout manuellement. Tout s'effondre après l'échange de noyau.

    J'espère que quelqu'un pourrait m'aider ou me dire ce que je fais mal. Si la réplication devrait être désactivée lorsque vous faites un swap de base? Des conseils?

Était-ce utile?

La solution

J'ai réussi à résoudre ce problème, le problème était que les deux cœurs utilisaient le même datadir.En définissant le datadir dans le fichier SOLR.XML dans les deux répertoires différents résolvés le problème!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top