如何修复:错误创建SolrCore'gettingstarted':无法创建核心

Jac*_*dar 19 lucene solr solr5

当我尝试在solr中创建新内核时,我收到此错误.

root@ubuntu:/opt/solr# bin/solr create -c gettingstarted -n data_driven_schema_configs

Setup new core instance directory:
/var/solr/data/gettingstarted

Creating new core 'gettingstarted' using command:
http://localhost:8983/solr/admin/cores?action=CREATE&name=gettingstarted&instanceDir=gettingstarted

Failed to create core 'gettingstarted' due to: Error CREATEing SolrCore 'gettingstarted': Unable to create core [gettingstarted] Caused by: /var/solr/data/gettingstarted/data
Run Code Online (Sandbox Code Playgroud)

此外,如果我尝试替代创建,它给我同样的错误:

root@ubuntu:/opt/solr# bin/solr create -c mycore

Setup new core instance directory:
/var/solr/data/mycore

Creating new core 'mycore' using command:
http://localhost:8983/solr/admin/cores?action=CREATE&name=mycore&instanceDir=mycore

Failed to create core 'mycore' due to: Error CREATEing SolrCore 'mycore': Unable to create core [mycore] Caused by: /var/solr/data/mycore/data
Run Code Online (Sandbox Code Playgroud)

在浏览器中,当我尝试访问solr管理面板时,它会显示如下通知:

SolrCore Initialization Failures

opt/solr/example/exampledocs/*.xml: org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: /var/solr/data/opt/solr/example/exampledocs/*.xml/data 
Run Code Online (Sandbox Code Playgroud)

快照已附加.

在此输入图像描述

3xi*_*il3 48

因为它可能会帮助任何有同样问题的人,所以它确实是由使用时的权限问题引起的root.以root身份执行命令时脚本不会快速终止,而是在失败之前创建一部分核心定义.

所以首先清理破碎的核心:

bin/solr delete -c mycore
Run Code Online (Sandbox Code Playgroud)

确保没有任何文件夹留在/var/solr/data您的mycore核心.

接下来,以solr用户身份创建核心

su -u solr -c "/opt/solr/bin/solr create_core -c mycore"
Run Code Online (Sandbox Code Playgroud)

这一次它应该成功

  • 根据您的安装,solr脚本的路径可能不同.对我来说这很有用:`sudo -u solr /opt/solr-5.3.0/bin/solr create -c [core]`. (5认同)
  • 我发现你也可以在 `/var/solr/data/mycore` 文件夹上执行 `chown -R solr` 来解决这个问题 (2认同)

ken*_*orb 10

不要solrroot用户身份运行脚本(不建议这样做).您应该以solr用户身份运行,例如:

sudo -u solr ./bin/solr create -c mycore
Run Code Online (Sandbox Code Playgroud)


Nik*_*hil 8

我发现这是解决方案:

sudo su - solr -c "/opt/solr/bin/solr create -c mycore"
Run Code Online (Sandbox Code Playgroud)

更多信息请访问:https://www.howtoforge.com/tutorial/how-to-install-and-configure-solr-on-ubuntu-1604/