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

Solr 9.12双节点搭配ZooKeeper集群启动异常求助

Solr 9.12集群启动异常排查(2节点+3ZK架构)

问题现象

  • 原Solr 8.11集群(2个Solr节点+3个ZooKeeper节点)运行正常,升级至Solr 9.12后出现异常
  • 单独启动任意一个Solr节点均可正常运行,但同时启动两个节点时,必有一个无法启动
  • 执行sudo service solr status返回错误:
ERROR: Failed to get system information from http://localhost:8983/solr due to: org.apache.solr.common.SolrException: Parse error : <p>
  Searching for Solr?<br/>
  You must type the correct path.<br/>
  Solr will respond.
</p>
  • Solr日志核心报错:
2023-05-25 19:00:32.043 WARN  (qtp1978504976-24) [   ] o.e.j.s.HttpChannel /solr/admin/info/system => javax.servlet.ServletException: javax.servlet.UnavailableException: Error processing the request. CoreContainer is either not initialized or shutting down. at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:157) javax.servlet.ServletException: javax.servlet.UnavailableException: Error processing the request. CoreContainer is either not initialized or shutting down. at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:157) ~[jetty-server-10.0.13.jar:10.0.13] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) ~[jetty-server-10.0.13.jar:10.0.13] at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:301) ~[jetty-rewrite-10.0.13.jar:10.0.13]
  • 沿用Solr 8配置,修改chroot路径后,livenodes始终显示为1
  • 两个Solr节点的solr.in.sh均配置ZK_HOST="{zookeeper1IP},{zookeeper2IP},{zookeeper3IP}:2181"

排查与解决方案

1. 检查端口与节点标识冲突

  • 确认两个Solr节点的SOLR_PORT配置是否重复,默认8983,需修改为不同端口(如8983/8984)
  • 检查solr.in.sh中的SOLR_NODE_NAME参数,确保两个节点有唯一名称(如solr-node-01/solr-node-02),重复名称会导致ZK节点注册冲突

2. 清理ZK中残留的旧版本配置

Solr 9对ZK存储的集群元数据兼容性有严格要求,残留的Solr 8配置会导致初始化失败:

  • 停止所有Solr节点与ZK节点
  • 清理每个ZK节点的dataDir目录下的旧数据
  • 重启ZK集群后,重新上传Solr 9的默认配置集:
    bin/solr zk upconfig -n default_config -d server/solr/configsets/_default/conf -z {zookeeper1IP},{zookeeper2IP},{zookeeper3IP}:2181
    
  • 重新启动Solr节点

3. 修正chroot路径配置

若使用chroot,需保证所有节点的ZK_HOST配置一致且路径已在ZK中创建:

  • 修改solr.in.sh中的ZK_HOST为完整路径:
    ZK_HOST="{zookeeper1IP},{zookeeper2IP},{zookeeper3IP}:2181/solr"
    
  • 使用ZK客户端创建对应路径:
    bin/zkCli.sh -server {zookeeper1IP}:2181 create /solr ""
    

4. 验证ZK集群健康状态

  • 使用ZK客户端检查live_nodes列表:
    bin/zkCli.sh -server {zookeeper1IP}:2181 ls /solr/live_nodes
    
  • 若节点未注册,检查Solr节点与ZK节点的网络连通性、ZK ACL权限配置

5. 排查完整启动日志

查看Solr启动目录下server/logs/solr.log的完整日志,重点关注初始化阶段的错误信息(如配置文件解析失败、权限不足、依赖缺失等)


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 22:33:32