You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Solr 8.9.0通过Solr API创建core失败求助(自定义Jetty部署war包场景)

错误原因

你启动Solr时添加了-DzkRun参数,当前Solr运行在SolrCloud集群模式下:
该模式下所有集合、分片、副本的元数据都统一存储在内置ZooKeeper中,直接调用CoreAdmin接口手动指定collection、shard、coreNodeName创建core时,ZooKeeper中没有提前注册对应conf1集合、shard10分片、a10节点的元数据信息,ZkController校验不通过就会抛出该异常。

解决方法

根据你实际需要的运行模式选择对应方案:

方案1:继续使用SolrCloud模式

不要直接调用CoreAdmin接口创建core,优先使用Collections API管理集合:

  • 先创建目标集合,Solr会自动完成ZooKeeper元数据注册、对应core的创建工作,示例命令如下:
curl "http://0.0.0.0:8983/solr/admin/collections?action=CREATE&name=conf1&numShards=10&replicationFactor=1&maxShardsPerNode=10&wt=xml"
  • 若确有手动指定coreNodeName的需求,需要先确保目标集合、对应分片已经在ZooKeeper中完成注册后再执行core创建操作。

方案2:切换为单机模式运行

如果你不需要集群能力,直接修改启动命令,删除-DzkRun、-Dbootstrap_confdir、-Dcollection.configName三个集群相关参数,重启Solr后即可切换为单机模式,你原先的core创建命令可正常执行。

其他注意事项

  • SolrCloud模式下不建议手动在cores目录下新建core文件夹,所有集合、core的管理都通过Collections API操作即可,手动创建的文件夹容易和ZooKeeper元数据冲突。
  • 启动日志中的Log4j2配置缺失警告,可将log4j2配置文件放入/var/solr/solr/目录,启动时添加参数-Dlog4j.configurationFile=/var/solr/solr/log4j2.xml即可解决。

内容的提问来源于stack exchange,提问作者Ravi Mishra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 21:09:03