10

我在 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

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

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

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

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

我被困在这个阶段,因为谷歌没有帮助我找到获取或创建 schema.xml 文件的位置。

任何人都可以帮忙吗?

4

6 回答 6

20

试试这个方法

导航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

希望这可以帮助

于 2016-07-18T07:32:49.893 回答
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 可通过 Admin UI(例如curl -s http://localhost:8983/solr/links)访问。
  • jar命令是可访问的(它在你的PATH)。
  • 对于语法,bin/solr --help请在 Solr HOME 文件夹中运行:

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

相关:SOLR-7826:使用 bin/solr 作为 root 用户创建内核时的权限问题

于 2017-03-26T18:05:45.283 回答
2

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

sudo -u solr bin/solr create -c demo
于 2017-06-18T18:25:27.427 回答
0

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

于 2017-02-22T07:05:56.787 回答
0

./solr create_core -c netest -d basic_configs

于 2017-09-08T08:10:31.667 回答
0
su - solr -c "/opt/solr/bin/solr create -c testcore -n 
data_driven_schema_configs"

此命令适用于我在 solr 6.60 中使用 sudo 用户。

于 2017-09-27T05:33:26.390 回答