25

当我尝试在 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

另外,如果我尝试创建替代方案,它会给我同样的错误:

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

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

附上快照。

在此处输入图像描述

4

7 回答 7

55

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

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

bin/solr delete -c mycore

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

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

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

这次应该成功了

于 2016-04-05T22:13:26.520 回答
14

不要以用户身份运行solr脚本(不推荐)。您应该以用户身份运行,例如:rootsolr

sudo -u solr ./bin/solr create -c mycore
于 2017-03-26T18:20:57.330 回答
9

我发现这是解决方案:

sudo su - solr -c "/opt/solr/bin/solr create -c mycore"

更多信息在这里:https ://www.howtoforge.com/tutorial/how-to-install-and-configure-solr-on-ubuntu-1604/

于 2017-07-09T18:45:24.187 回答
4

请注意,在创建核心之前,您应该将具有相同名称的目录创建为:

C:\...\solr-8.3.11\server\solr

然后从示例默认文件夹中复制conf文件夹。

我在 Windows 中遇到了同样的问题,我从示例中复制了conf文件夹:

C:\...\solr-8.3.1\example\files

到这里 :

C:\...\solr-8.3.1\server\solr\new_core

我的问题解决了。

您还可以从默认文件夹复制conf文件夹:

C:\...\solr-8.3.11\server\solr\configsets_default

在这里new_core是我添加的新核心的名称。

所以也许在Ubuntu中处理这个文件夹可以解决你的问题。

下一个解决方案:使用命令提示符或终端运行 solr 后,使用以下命令创建核心:

solr create -c new_core_name
于 2019-12-06T13:07:14.797 回答
2

您可以通过以下步骤解决问题:

  1. 检查文件正确的目录是否存在:

    • /opt/solr/server/gettingstarted/conf/solrconfig.xml _
    • /opt/solr/server/gettingstarted/conf/schema.xml _
    • /opt/solr/server/gettingstarted/数据
  2. 然后打开核心管理,“添加新核心”,输入正确的目录/文件名并将核心添加到系统中。实际上它会给你一个核心已经存在的错误信息。在浏览器中刷新管理网页,它现在将自动加载此核心,而不会出现任何错误消息。

于 2015-11-22T13:53:23.833 回答
2

这对我来说正常工作...以 solr linux 用户身份创建内核。

sudo su - solr -c "/opt/solr/bin/solr create -c mycol1 -n data_driven_schema_configs"
于 2019-02-27T11:22:53.057 回答
2

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

于 2015-11-23T01:33:17.823 回答