我在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文件的位置。
有人可以帮忙吗?
答案 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
如有任何其他问题,请仔细检查:
curl -s http://localhost:8983/solr/
或links
)。jar
命令可以访问(它位于PATH
)。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.xml
和solrconfig.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用户。