DSpace - SolrCore初始化失败,无法创建目录。

问题描述 投票:0回答:1

我收到 "Dspace JSPUI内部服务器错误"。我认为是solr的问题。我检查了 http:/localhost:8080solr。 . 我发现solr无法创建一些目录,并提示 "SolrCore初始化失败"。Dspace文件夹拥有所有用户的所有权限。其中一个用户的日志如下。

`

org.apache.solr.common.SolrException: /dspace/solr/search/data/index/write.lock
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:881)
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:654)
    at org.apache.solr.core.CoreContainer.create(CoreContainer.java:491)
    at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:255)
    at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:249)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.nio.file.AccessDeniedException: /dspace/solr/search/data/index/write.lock
    at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
    at sun.nio.fs.UnixFileSystemProvider.newFileChannel(UnixFileSystemProvider.java:177)
    at java.nio.channels.FileChannel.open(FileChannel.java:287)
    at java.nio.channels.FileChannel.open(FileChannel.java:335)
    at org.apache.lucene.store.NativeFSLock.obtain(NativeFSLockFactory.java:167)
    at org.apache.lucene.store.Lock.obtain(Lock.java:77)
    at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:755)
    at org.apache.solr.update.SolrIndexWriter.<init>(SolrIndexWriter.java:77)
    at org.apache.solr.update.SolrIndexWriter.create(SolrIndexWriter.java:64)
    at org.apache.solr.core.SolrCore.initIndex(SolrCore.java:531)
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:785)

`

java tomcat solr dspace
1个回答
0
投票

作为运行Dspace的用户,如果你在终端执行以下内容,是否会出现权限错误?

touch /dspace/solr/search/data/index/write.lock

如果是这样的话,这意味着该用户没有访问该文件的权限。

另外,这是一个锁文件,这意味着该索引可能被另一个Solr实例使用。检查一下有没有其他进程在使用这个文件或solr。

你也可以尝试停止Dspace Solr的所有实例,手动删除锁文件,然后重新启动服务。

我强烈建议不要给予完全的读-写权限,因为这样会削弱安全性。一旦你弄清楚了文件的正确用户和权限,就正确地限制它们,只给需要id的用户(solr和dspace用户)以读和或写的权限。

© www.soinside.com 2019 - 2024. All rights reserved.