You need to enable JavaScript to run this app. SOLR 8.4.1 上传含OpenNLP模型bin文件的配置至ZooKeeper时连接被中止
优惠活动
大模型
产品
解决方案
定价
更多

SOLR 8.4.1 上传含OpenNLP模型bin文件的配置至ZooKeeper时连接被中止

问题定位

这个报错不要第一时间排查网络、防火墙,场景特征非常明确:仅当配置目录放入OpenNLP的bin模型文件、新增对应fieldType时才会断连,不放大文件时上传完全正常,本质是ZooKeeper默认的单请求大小限制卡了大文件传输。
ZooKeeper默认jute.maxbuffer参数值为4MB,对请求大小超过该阈值的客户端连接会直接主动断开,抛出的异常就是日志里记录的“主机端软件中止了已建立的连接”。几个OpenNLP英语模型单文件体积普遍在几M到十几M,单文件就远超默认4M阈值,上传时传输请求被ZK直接掐断,才会出现断连报错。

分步解决操作
  • 调整ZooKeeper服务端的单请求大小上限
    如果用的是Solr内置绑定的ZooKeeper(即随Solr一起启动的9983端口节点),需要修改Solr启动脚本的JVM参数,添加-Djute.maxbuffer=104857600(即100MB上限,足够覆盖OpenNLP全套英语模型的体积);如果是独立部署的ZooKeeper集群,需要在ZK服务的启动JVM参数里添加同值配置,重启ZK服务让参数生效。
  • 调整ZK上传客户端的对应参数
    执行upconfig命令的Solr脚本本身也是ZK客户端,同样需要匹配相同的jute.maxbuffer参数,否则哪怕服务端调大了上限,客户端还是会用默认4M的限制传输,触发断连。两种配置方式二选一:
    • 临时生效:在执行上传命令前,先设置环境变量set SOLR_JAVA_OPTS=-Djute.maxbuffer=104857600,再执行原来的bin/solr.cmd zk upconfig命令
    • 永久生效:把上面的JVM参数写入Solr的Windows环境配置文件solr.in.cmd,后续所有ZK操作都会自动加载该参数
  • 修正fieldType的模型路径配置
    Solr 8.x版本的OpenNLP各工厂类,默认不会直接从配置根目录加载模型文件,需要在每个模型参数值前加上conf/前缀,明确告知Solr从ZooKeeper存储的当前配置目录下查找模型,修正后的配置片段参考:
    <fieldType name="text_opennlp" class="solr.TextField" positionIncrementGap="100" multiValued="true" >
      <analyzer>
        <tokenizer class="solr.OpenNLPTokenizerFactory"
          sentenceModel="conf/en-sent.bin"
          tokenizerModel="conf/en-token.bin"/>
        <filter class="solr.OpenNLPPOSFilterFactory" posTaggerModel="conf/en-pos-maxent.bin"/>
        <filter class="solr.OpenNLPChunkerFilterFactory" chunkerModel="conf/en-chunker.bin"/>
        <filter class="solr.TypeAsPayloadFilterFactory"/>
      </analyzer>
    </fieldType>
    
    不添加路径前缀的话,哪怕配置上传成功,Solr节点加载该fieldType时也会报模型文件找不到的错误。
避坑提醒
  • 不要把这个报错归因为网络、防火墙、端口不通:场景触发条件非常明确,仅当配置目录包含大体积bin文件时才断连,纯文本配置上传完全正常,说明端口连通性、网络链路没有问题。
  • 确保服务端和客户端的jute.maxbuffer参数值完全一致:两边参数不匹配的话,传输大文件时依然会被主动断连。
  • 注意模型版本匹配:Solr 8.4.1内置依赖的OpenNLP版本为1.9.3,不要下载过高版本的OpenNLP预训练模型,否则上传完成后加载阶段会抛出模型版本不兼容的错误。

内容的提问来源于stack exchange,提问作者Michał Wieczorek

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.31 16:36:03