引起:org.apache.solr.common.SolrException:索引已锁定以便为核心写入

时间:2013-07-03 09:35:54

标签: solr

我们正在使用solr4.3与主/从设置,今天我得到以下错误和solr停止响应。可能导致这种情况的原因,

 Caused by: org.apache.solr.common.SolrException: Index locked for write for core XXX
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:821)
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:618)
    at org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:949)
    at org.apache.solr.core.CoreContainer.create(CoreContainer.java:984)
    at org.apache.solr.core.CoreContainer$2.call(CoreContainer.java:597)
    at org.apache.solr.core.CoreContainer$2.call(CoreContainer.java:592)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    ... 1 more
Caused by: org.apache.lucene.store.LockObtainFailedException: Index locked for write for core XX        at org.apache.solr.core.SolrCore.initIndex(SolrCore.java:484)
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:745)
    ... 13 more

5 个答案:

答案 0 :(得分:20)

删除核心文件夹write.lock中的文件/data/index/,然后重新启动tomcat。它会起作用。

答案 1 :(得分:17)

索引似乎已锁定索引 通常在索引中会有一个write.lock文件,需要将其删除才能将其取回 如果索引间断或其他可能导致锁定文件仍在索引中的问题,则可能出现这些情况。

检查Forum

  

写锁定是由于IndexWriter始终处于打开状态   在索尔甚至在奴隶身上。

检查可以处理配置条件的Index Lock选项。

[原始链接的存档副本: https://web.archive.org/web/http://docs.lucidworks.com/display/solr/IndexConfig+in+SolrConfig]

答案 2 :(得分:0)

如果您使用的是Rails,

只需将此行添加到solr.xml

<lockType>simple</lockType>

它适用于我)

答案 3 :(得分:0)

在某些时候会发生这种情况,因为当前用户在目录中没有权限。 尝试使用root并使用-force for start solr。

答案 4 :(得分:0)

检查权限是否为root权限,修改核心文件权限