如何创建Solr 6内核?

Pau*_*yer 9 linux solr solr6

我在数字海洋ubuntu实例上安装了Solr 6:

install_solr_service.sh solr-6.1.0.tgz
Run Code Online (Sandbox Code Playgroud)

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

sudo ./solr create -c netest
Run Code Online (Sandbox Code Playgroud)

包含

sudo ./solr create -c netest -d /opt/solr/server/solr/configsets/basic_configs/conf/
Run Code Online (Sandbox Code Playgroud)

但它总是给我:

ERROR: Error CREATEing SolrCore 'netest': Unable to create core [netest] Caused by: /var/solr/data/netest/data
Run Code Online (Sandbox Code Playgroud)

如果我提前创建目录:

sudo mkdir /var/solr/data/netest/
sudo mkdir /var/solr/data/netest/data
sudo chown -R solr:solr /var/solr/data
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

而且我在这个阶段陷入困境,因为谷歌没有帮我找到从哪里获取或创建schema.xml文件.

有人可以帮忙吗?

vin*_*nod 18

试试这种方式

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

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

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

现在你在终端上输入这个命令 sudo ./solr create -c netest

这将使用conf文件夹中的配置文件创建名为netest的newcore

希望这可以帮助

  • 这也适用于Solr 7.x,但basic_config现在称为_default (2认同)

ken*_*orb 6

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

因此,请尝试以下命令:

cd /opt/solr
sudo -u solr ./bin/solr create -c netest
sudo ls -la /var/solr/data
Run Code Online (Sandbox Code Playgroud)

对于任何其他问题,请仔细检查:

  • Solr可通过Admin UI(例如curl -s http://localhost:8983/solr/links)访问.
  • jar命令是可访问的(它在你的PATH).
  • 对于语法,请bin/solr --help在Solr HOME文件夹中运行:.

要进行故障排除,请检查Solr日志(例如/var/solr/logs/solr.log).

相关:SOLR-7826:以root用户身份使用bin/solr创建核心时的权限问题.