如何创建Solr 6内核?

时间:2016-07-17 18:28:56

标签: linux solr solr6

我在Digital Ocean ubuntu实例上安装了Solr 6:

install_solr_service.sh solr-6.1.0.tgz

并验证Solr正在运行。但是,我无法通过UI或命令行创建任何内核。我尝试了各种不同的排列:

sudo ./solr create -c netest

包括

sudo ./solr create -c netest -d /opt/solr/server/solr/configsets/basic_configs/conf/

但它总是给我:

ERROR: Error CREATEing SolrCore 'netest': Unable to create core [netest] Caused by: /var/solr/data/netest/data

如果我提前创建目录:

sudo mkdir /var/solr/data/netest/
sudo mkdir /var/solr/data/netest/data
sudo chown -R solr:solr /var/solr/data

当我重新运行create命令时,我得到:

  

错误:错误创建SolrCore' netest':无法创建核心[netest]引起:无法找到资源' solrconfig.xml'在classpath或' / var / solr / data / netest'

如果我将solrconfig.xml复制到目录中并再次运行命令,我会得到:

  

错误:错误创建SolrCore' netest':无法创建核心[netest]由此引起:无法找到资源' schema.xml'在classpath或' / var / solr / data / netest'

并且我在这个阶段陷入困境,因为google并没有帮助我找到获取或创建schema.xml文件的位置。

有人可以帮忙吗?

6 个答案:

答案 0 :(得分:16)

试试这种方式

导航至Solr/solr-6.1.0/server/solr/

创建新文件夹并将其命名为 netest

Solr/solr-6.1.0/server/solr/configsets/basic_configs/复制conf文件夹并将其粘贴到 netest 文件夹中。

现在您在终端sudo ./solr create -c netest

上输入此命令

这将使用conf文件夹

中的配置文件创建名为netest的newcore

希望这会有所帮助

答案 1 :(得分:6)

您不应使用root,而是solr用户权限来创建Solr核心,因为数据文件夹(例如/var/solr/data)通常归solr所有。其次请注意,提供的solr shell脚本仍然使用Solr Admin UI作为管理Solr的主要起点。

请尝试以下命令:

cd /opt/solr
sudo -u solr ./bin/solr create -c netest
sudo ls -la /var/solr/data

如有任何其他问题,请仔细检查:

  • Solr可通过管理员界面访问(例如curl -s http://localhost:8983/solr/links)。
  • jar命令可以访问(它位于PATH)。
  • 对于语法,请在Solr HOME文件夹中运行:bin/solr --help

要进行问题排查,请检查您的Solr日志(例如/var/solr/logs/solr.log)。

相关:SOLR-7826: Permission issues when creating cores with bin/solr as root user

答案 2 :(得分:2)

它的权限问题,所以尝试使用下面的命令创建一个新的核心,它会工作!

sudo -u solr bin/solr create -c demo

答案 3 :(得分:0)

如果您已在核心目录中创建了schema.xmlsolrconfig.xml,请尝试从核心管理页面添加核心,它应该可以正常工作。

答案 4 :(得分:0)

./ solr create_core -c netest -d basic_configs

答案 5 :(得分:0)

su - solr -c "/opt/solr/bin/solr create -c testcore -n 
data_driven_schema_configs"

此命令适用于solder 6.60和sudo用户。