如何修复:CREATEing SolrCore“gettingstarted”错误:无法创建core

umuewwlo  于 2022-10-21  发布在  Solr
关注(0)|答案(8)|浏览(170)

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

快照已附加。


小时

lpwwtiir

lpwwtiir1#

因为它可能会帮助任何人解决相同的问题,所以使用root时,它确实是由permission issues造成的。当以root身份执行命令时,脚本不会快速终止,而是在失败之前创建一段核心定义。
因此,首先清理破碎的岩芯:

bin/solr delete -c mycore

确保mycore核心的/var/solr/data下没有文件夹。
接下来,将核心创建为solr用户

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

这次应该会成功

yrwegjxp

yrwegjxp2#

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

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

pzfprimi3#

我发现这是解决方案:

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/

ljo96ir5

ljo96ir54#

请注意,在创建核心之前,您应该将同名目录创建到:
C: \…\solr-8.3.11\服务器\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\服务器\solr\configsets_default
这里new_core是我添加的新内核的名称。
所以也许在Ubuntu中处理这个文件夹可以解决你的问题。

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

solr create -c new_core_name
hof1towb

hof1towb5#

这对我来说很正常…作为solr-linux用户创建内核。

sudo su - solr -c "/opt/solr/bin/solr create -c mycol1 -n data_driven_schema_configs"
qcbq4gxm

qcbq4gxm6#

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

  • 检查包含正确文件的目录是否存在:
  • /opt/solr/server/gettingstarted/conf/solrconfig.xml
  • /opt/solr/server/gettingstarted/conf/schema.xml
  • /opt/solr/server/gettingstarted/数据
  • 然后打开Core Admin,“Add new Core”,输入正确的目录/文件名并将Core添加到系统中。实际上,它会给您一条错误消息,即核心已经存在。刷新浏览器中的管理网页,它将自动加载此核心,无任何错误消息。
ijnw1ujt

ijnw1ujt7#

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

093gszye

093gszye8#

请确保您已向solr用户授予了目录“/opt/solr”的权限,它不会使用命令

sudo chown -R solr:solr <directory_name>

然后通过solr用户登录:

sudo su - solr

进入bin文件夹,如果已启动solr,则再次启动solr。停止solr或终止solr进程

./solr start

现在使用下面的命令创建新的核心:

./solr create -c <core_name>

相关问题