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

Solr 8 legacyCloud模式动态核心发现确认及Solr 9变更问询

Solr 8 legacyCloud模式与Solr 9升级相关问题解答

背景场景

当前使用Solr 8.11 SolrCloud环境,在clusterprops.json中配置legacyCloud=true,启动时基于目录结构和core.properties文件动态创建集合与核心;执行zkcli.sh linkconfig命令后,集合状态存储在ZooKeeper的state.json中,计划升级至Solr 9并遇到模式差异问题。


问题1:Solr 8开启legacyCloud=true是否确实支持基于手动目录结构与core.properties注册集合与核心?

是。当legacyCloud=true时,SolrCloud启用遗留云模式,允许通过手动创建核心目录、放置core.properties文件的方式注册核心与集合。Solr启动时会扫描本地核心目录,读取core.properties中的配置(如集合名、分片信息等),自动将核心注册到集群,无需通过Collections API创建。

问题2:是否有Solr源码、Jira工单或官方文档佐证该行为?

  • 官方文档:Solr 8.x官方文档明确说明legacyCloud参数用于兼容旧版SolrCloud的核心管理方式,支持通过本地目录和core.properties进行核心发现;该模式下不会生成clusterstate.json,集群状态通过state.json动态生成。
  • Jira工单:SOLR-12418 引入legacyCloud参数,目的是支持从Solr 6.6之前的旧版本升级时,保留手动核心管理的能力,工单中明确描述了该模式下核心发现的逻辑。
  • 源码:Solr 8.11的CoreContainer类中,当legacyCloud为true时,会启用LegacyCloudCoreDescriptorProvider,该类负责扫描本地核心目录、解析core.properties并同步到ZooKeeper的state.json中。

问题3:Solr 9弃用legacyCloud=true是否强制使用Collections API,导致手动核心发现与ZooKeeper状态同步不可行?

是。Solr 9中legacyCloud模式已被完全弃用,相关核心发现逻辑(如LegacyCloudCoreDescriptorProvider)已被移除。此时所有核心与集合的管理必须通过Collections API完成,手动创建目录和core.properties不会被Solr识别,也无法同步到ZooKeeper的集群状态中;ZooKeeper中的state.json完全由Collections API的操作维护,用户无法手动干预。

问题4:若Solr 9 SolrCloud不再支持手动核心发现,是否只能切换至独立(用户管理模式)环境保留手动创建核心?

  • 是,Solr 9的SolrCloud模式已彻底移除手动核心发现的能力,若要保留手动创建核心的方式,只能切换到独立模式(用户管理核心模式)。
  • 用户管理模式的Solr完全独立于ZooKeeper,无法使用ZooKeeper的集群相关功能(如分片复制、集群状态同步等)。该模式下Solr仅作为单个实例运行,核心完全由用户通过目录和core.properties手动管理,不具备分布式集群的特性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 11:33:14