使⽤情况

使⽤OCSearch提供数据加载、批量索引、数据查询能⼒。数据分为家宽和wlan两类上⽹数据,家宽数据量每天⼤约8T,wlan较⼩⼤约⼀天⼏个g,每15min执⾏⼀次bulkload和批量建索引作业。使⽤OCSearch为家宽表建⽴天表,为wlan表建⽴⽉表。

描述信息

search⻚⾯⼤量历史表查不到数据,但新建schame的表可以查询。 SolrUI⻚⾯有⼤量如下异常,且这些异常对应的core在Core Admin中⽆法找到:
SE_JIAKUAN_20190417_shard11_replica1:
java.lang.RuntimeException:java.lang.RuntimeException: Could not start JMX monitoring
solr 后台⽇志发现不能连接到集群外ip(与现场确认该ip为集群监控所在服务器,该服务⽬前已关闭)导致不能加载core:
image.png

分析过程

1.down下schema: jiakuan_new的config发现,其配置⽂件configoverlay.json中包含该ip,如下所示:
image.png
2.新建schema:test,在Zookeeper中找不到配置⽂件configoverlay.json,因此怀疑core不能加载与配置⽂件configoverlay.json有很⼤关系。
3.在Solr⽇志中搜索发现:在2019-07-17之后Solr core的配置被修改
image.png

根因分析

OCsearch中⼤量表⽆法查询的直接原因是Solr的core因为连接监控服务器⽽没有加载成功。
Solr core配置⽂件被修改的原因初步怀疑是集群监控服务使⽤Solr原⽣API修改了Solr各schame的配置⽂件中JMX的配置,并⽣成了configoverlay.json。因此监控服务关闭后Solr⽆法连接该ip,在重启Solr后各core⽆法加载,⽽重新创建的schame可以查询成功。

解决⽅案

⽅案1. 使⽤Solr API修改各core的配置,修改完后重启Solr服务。

  1. curl http://HBBDC-JK-DN-01:8886/solr/SE_JIAKUAN_20190729/config -H 'Content-type:application/json' -d '{"unset-property"
  2. :"jmx.serviceUrl"}'

该⽅案对Solr影响⼩,特别是onfigoverlay.json中有多个配置时,建议使⽤该⽅案。但现场使⽤该⽅案时⼀直报timedout,所以转为使⽤⽅案2。
⽅案2. 在Zookeeper上删除各schame的配置⽂件configoverlay.json,重启Solr服务。 重启Solr服务后查询成功

相关⽂档
https://www.w3cschool.cn/solr_doc/solr_doc-orsk2hja.html