No live SolrServers available to handle this request

环境描述

jdk:1.7

solr:4.10.1

zookeeper:3.4.7

搭建的solrcloud 集群

因为原来项目里面使用的就是solr 4.10.1 

为了系统稳定 没有采取对solr进行版本升级。

问题现象

问题1:

为了方便,只建了一个shard,然后一主一备

当你同时启动两台tomcat的时候,8081和8082的时候。

启动成功后,发现两台tomcat不在一个集群里,登录8081显示8082为Gono

登录8082的时候显示8081为Gone

然后开始频繁重新启动两台tomcat,直到两台solr启动到一个集群中。

No live SolrServers available to handle this request

问题2:

当你用的web程序通过CloudSolrServer去连接的时候

No live SolrServers available to handle this request

会出现:No live SolrServers available to handle this request

上述两个原因间歇出现。

第一个问题出现后,CloudSolrServer压根连不上.

但是第一个问题不出现,CloudSolrServer时而会爆出

No live SolrServers available to handle this request

问题解决

No live SolrServers available to handle this request

没有存活的链接

但是登录8081和8082两台solr是可以正常的进行query进行访问的,也没有出现过异常

上述异常是在web中时通solrcloudserver查询的时候出现。

说明你从zookeeper里面取出来的solr连接要不是失效的,要不压根就没有。

查看三台zookeeper

果然第一台zookeeper中并没有我们从could scripts中同步来的数据,更别说solr连接了

No live SolrServers available to handle this request

这说明问题出现在zookeeper,检查后发现有一台zookeeper的配置文件给注释掉了

可让我一顿好找。这次也长记性,大家引以为戒

No live SolrServers available to handle this request