Solr Cloud 7.3.0:迁移后新创建的Configset无法定位求助
SolrCloud 7.3.0 配置集找不到?原因和解决办法
嗨,刚好碰到过类似的情况,我来给你掰扯清楚~
你执行的CREATE命令确实已经成功了(返回status 0就是最好的证明),但找不到配置集的核心原因是:SolrCloud 模式下,配置集是存储在 ZooKeeper 中的,而不是本地文件系统的configsets文件夹里!你之前用的Solr 4.7是单机模式,配置集存在本地目录,但Cloud模式下ZK接管了配置的统一管理,所以本地找不到完全正常。
接下来给你几个验证和操作的方法:
1. 确认配置集真的存在
- 用Solr的Config API列出所有配置集:
调用这个URL:http://localhost:8983/solr/admin/configs?action=LIST,返回的结果里应该能看到mySolrCloudConfigSet的身影。 - 用ZooKeeper客户端查看:
找到Solr安装目录下的bin/zkCli.sh(Windows是zkCli.bat),执行命令:
进入ZK客户端后,输入./zkCli.sh -server localhost:2181ls /configs就能列出所有配置集节点;再输入ls /configs/mySolrCloudConfigSet,就能看到这个配置集下的所有配置文件了。
2. 把配置集导出到本地修改
如果需要修改配置,你可以把ZK里的配置集下载到本地:
- 用Config API的DOWNLOAD动作:
调用URL:http://localhost:8983/solr/admin/configs?action=DOWNLOAD&name=mySolrCloudConfigSet,浏览器会自动下载一个包含完整配置的zip包。 - 用ZK客户端导出单个文件:
比如要导出solrconfig.xml,在ZK客户端里执行:get /configs/mySolrCloudConfigSet/solrconfig.xml > local_solrconfig.xml
3. 修改后同步回ZK
修改完本地配置后,你可以用UPLOAD动作把整个配置集上传回去:
curl -X POST "http://localhost:8983/solr/admin/configs?action=UPLOAD&name=mySolrCloudConfigSet" --data-binary @modified_config.zip
或者用ZK客户端的set命令更新单个文件,比如:
set /configs/mySolrCloudConfigSet/solrconfig.xml "`cat local_solrconfig.xml`"
内容的提问来源于stack exchange,提问作者Timothy Clotworthy
相关产品推荐
相关产品推荐

