2015-01-26 4 views
0

Я использую solr 4.10.2. Я попытался выполнить разбивку осколков на моем тестовом кластере solr cloud. Он терпит неудачу все время, если тип индекса установлен на «родной» или «простой».Разделение осколков Solr не удается, когда тип индекса является родным или простым

Это нормально? Я могу выполнить разбиение осколков, если для типа индекса установлено значение «single» или «none». Они объявляют, что осколок расщепление может быть сделано в то время как Solr работает, и я с трудом представляю ковыряться изменения типа блокировки сервера производства ...

Вот тестовая среда:

1 осколок, 2 узлов , 1 сборник. Первоначально коллекция была пуста. Я добавил несколько документов, подтвердил, что они были реплицированы. Все работало.

Выпущено команда раскол осколок:

сервер1: порт/Solr/администратор/коллекции действие = SPLITSHARD & коллекция = MyCollection & осколок = shard1 & асинхронной = myhandle

После проверки того, что операция кончила? , позвонив по телефону

сервер1: порт/Solr/администратор/коллекции действие = REQUESTSTATUS & RequestID = myhandle

Статус был "complete".

Вот лог:

OverseerCollectionProcessor.processMessage : splitshard , { 
    "operation":"splitshard", 
    "shard":"shard1", 
    "collection":"mycollection", 
    "async":"myhandle"} 


    1/26/2015, 1:49:02 PM 
ERROR 
CoreContainer 
Error creating core [mycollection_shard1_0_replica1]: Error opening new searcher 
org.apache.solr.common.SolrException: Error opening new searcher 
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:873) 
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:646) 
    at org.apache.solr.core.CoreContainer.create(CoreContainer.java:491) 
    at org.apache.solr.core.CoreContainer.create(CoreContainer.java:466) 
    at org.apache.solr.handler.admin.CoreAdminHandler.handleCreateAction(CoreAdminHandler.java:575) 
    at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestInternal(CoreAdminHandler.java:199) 
    at org.apache.solr.handler.admin.CoreAdminHandler$ParallelCoreAdminHandlerThread.run(CoreAdminHandler.java:1234) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: org.apache.solr.common.SolrException: Error opening new searcher 
    at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1565) 
    at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1677) 
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:845) 
    ... 9 more 
Caused by: org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: [email protected]/nfs/solr/index/write.lock 
    at org.apache.lucene.store.Lock.obtain(Lock.java:89) 
    at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:753) 
    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:279) 
    at org.apache.solr.update.DefaultSolrCoreState.getIndexWriter(DefaultSolrCoreState.java:111) 
    at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1528) 
    ... 11 more 

    org.apache.solr.common.SolrException: Error opening new searcher 
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:873) 
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:646) 
    at org.apache.solr.core.CoreContainer.create(CoreContainer.java:491) 
    at org.apache.solr.core.CoreContainer.create(CoreContainer.java:466) 
    at org.apache.solr.handler.admin.CoreAdminHandler.handleCreateAction(CoreAdminHandler.java:575) 
    at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestInternal(CoreAdminHandler.java:199) 
    at org.apache.solr.handler.admin.CoreAdminHandler$ParallelCoreAdminHandlerThread.run(CoreAdminHandler.java:1234) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: org.apache.solr.common.SolrException: Error opening new searcher 
    at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1565) 
    at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1677) 
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:845) 
    ... 9 more 
Caused by: org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: [email protected]/nfs/solr/index/write.lock 
    at org.apache.lucene.store.Lock.obtain(Lock.java:89) 
    at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:753) 
    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:279) 
    at org.apache.solr.update.DefaultSolrCoreState.getIndexWriter(DefaultSolrCoreState.java:111) 
    at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1528) 
    ... 11 more 

    1/26/2015, 1:49:26 PM 
ERROR 
SolrIndexWriter 
SolrIndexWriter was not closed prior to finalize(),​ indicates a bug -- POSSIBLE RESOURCE LEAK!!! 
1/26/2015, 1:49:26 PM 
ERROR 
SolrIndexWriter 
Error closing IndexWriter 
java.lang.NullPointerException 
    at org.apache.lucene.index.IndexWriter.doFlush(IndexWriter.java:3230) 
    at org.apache.lucene.index.IndexWriter.flush(IndexWriter.java:3203) 
    at org.apache.lucene.index.IndexWriter.shutdown(IndexWriter.java:907) 
    at org.apache.lucene.index.IndexWriter.close(IndexWriter.java:984) 
    at org.apache.lucene.index.IndexWriter.close(IndexWriter.java:954) 
    at org.apache.solr.update.SolrIndexWriter.close(SolrIndexWriter.java:129) 
    at org.apache.solr.update.SolrIndexWriter.finalize(SolrIndexWriter.java:182) 
    at java.lang.System$2.invokeFinalize(System.java:1213) 
    at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:98) 
    at java.lang.ref.Finalizer.access$100(Finalizer.java:34) 
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:210) 

ответ

0

Я исправил эту проблему. Вот как это делается:

Когда я создал среду solr cloud, я использовал свойство -Dsolr.data.dir для сопоставления хранилища коллекций в другой файловой системе. Это было связано с тем, что я запускал виртуальные машины с ограниченным объемом памяти. Как только я удалил это свойство, все начало работать. Я думаю, что solr пытается использовать тот же самый путь solr.data.dir для новых ядер, созданных разбиением осколков, вызывая проблему блокировки.

 Смежные вопросы

  • Нет связанных вопросов^_^