2015-11-22 33 views
14

我得到这个错误,当我尝试创建Solr中新的核心。如何修复:错误CREATEing SolrCore“gettingstarted”:无法创建核心

[email protected]:/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 

另外,如果我尝试创建或者,它给了我同样的错误:

[email protected]:/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 

在浏览器中,当我试图访问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 

快照附着。

enter image description here

+1

你找到解决办法吗? 我有完全相同的情况,没有任何答案正在工作 –

回答

0

可以解决以下步骤的问题:用正确的文件的目录是否

  1. 检查存在:

    • 的/ opt/Solr的/服务器/ gettingstarted/conf目录/ solrconfig.xml中
    • 的/ opt/Solr的/服务器/ GETT ingstarted/conf目录/ schema.xml中
    • 的/ opt/Solr的/服务器/ gettingstarted /使用数据
  2. 然后打开 核心管理员, “添加新的核心”,输入正确的目录/文件 名称并将该核心添加到系统中。实际上它会给你一个错误信息,表明核心已经存在。刷新网页管理员在 的浏览器,它现在会自动加载这个核心没有任何 错误消息。

1

在我看来像一个可能的用户权限问题。您似乎以root身份运行这些命令,但部分工作由Solr服务器完成。服务器进程是否可以与无法访问错误消息中提及的目录的用户一起运行?

37

因为它可能会帮助任何人有同样的问题,它确实是由permission issues使用root时造成的。以root身份执行该命令时脚本不会很快终止,而是在失败之前创建一个核心定义的一部分。

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

bin/solr delete -c mycore 

确保没有文件夹(S)/var/solr/data下徘徊的mycore核心。

接下来,创建核心为solr用户

su -u solr -c "/opt/solr/bin/solr create_core -c mycore" 

这次应该能成功

+1

我发现你也可以在'/ var/solr/data/mycore'文件夹上做一个'chown -R solr'来解决这个问题 – sagesolutions

+4

根据你的安装solr脚本的路径可能会有所不同。对我来说,这是有效的:'sudo -u solr /opt/solr-5.3.0/bin/solr create -c [core]'。 –

+0

我该如何做这个清理?我收到这个错误 – Suraj

6

不要运行solr脚本root用户(这是not recommended)。您应该solr用户,例如:运行

sudo -u solr ./bin/solr create -c mycore