How to fix: Error CREATEing SolrCore 'gettings

2019-03-12 10:00发布

问题:

I'm getting this error when I try to create a new core in 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

Also, if I try to create alternatively, It gives me same error:

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

In browser, when I try to access solr admin panel, it displays a notification like:

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 

snapshot is attached.

回答1:

Since it might help anybody with the same issue, it's indeed caused by permission issues when using root. The script doesn't terminate quickly when executing the command as root and instead creates a piece of the core definition before failing.

So first cleanup the broken core:

bin/solr delete -c mycore

Make sure that no folder(s) linger under /var/solr/data for your mycore core.

Next create the core as the solr user

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

This time it should succeed



回答2:

Don't run solr script as root user (it is not recommended). You should run as solr user, e.g.:

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


回答3:

I found this as the solution:

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

More information here: https://www.howtoforge.com/tutorial/how-to-install-and-configure-solr-on-ubuntu-1604/



回答4:

Looks to me like a possible user permission issue. You seem to be running the commands as root, but some of the work is done by the Solr server. Is it possible that the server process is run with a user that does not have access to the directories mentioned in the error message.



回答5:

You can solve the problem with the following steps:

  1. Check whether the directories with the right files are exist:

    • /opt/solr/server/gettingstarted/conf/solrconfig.xml
    • /opt/solr/server/gettingstarted/conf/schema.xml
    • /opt/solr/server/gettingstarted/data
  2. then open the Core Admin, "Add new core", enter the right directory/file names and add the core to the system. Actually it will give you an error message that the core already exists. Refresh the admin webpage in the browser and it will automatically load this core now without any error message.



回答6:

this works normally with me... creating cores as the solr linux user.

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