配置简况:

1、四个端口不同(8080-8083)的 tomcat9 实例;
2、四个与 tomcat9 对应的 solr-4.10.3 实例;
3、三个 zookeeper 实例(一主两备,保障高可用性)。

问题描述:

昨天配置 Solr 集群并成功展示后台 UI 页面后关机;今早开机启动四个 tomcat 实例,正常运行:


再访问 http://192.168.92.92:8080/solr 时报 503 错误:


网上搜了半天,各种说法都有,可惜没有切中要害,也可能是我遇到的情况稍显简单吧。按下不表。

根据报错信息,某类服务不可用,该服务器 Server 要么关闭了要么没有启动,显然这里的 Server 不是指的 tomcat 实例;再根据快照能够正常运行的情况看,昨天配置时应该提前启动了某个或某类 Server 提供的服务,而今天启动时忽略了。聪明如你的小伙伴们应该看出来了,最关键的动物园管理员 zookeeper 还没“上班,这里的 Server 就是指的那三个 zookeeper 实例。于是先执行以下命令,再重启各 tomcat:

# /usr/local/solr-cloud/zookeeper1/bin/zkServer.sh start; \
> /usr/local/solr-cloud/zookeeper2/bin/zkServer.sh start; \
> /usr/local/solr-cloud/zookeeper3/bin/zkServer.sh start
终于启动成功:


小结:

Solr 集群的正确打开方式:
1、先启动各 zookeeper 实例(zookeeperX/bin/zkServer.sh start);
2、再启动各 tomcat 实例(亦即 solr 实例:tomcatX/bin/startup.sh);

Solr 集群的正确关闭方式:
1、先关闭各 solr 实例;(tomcatX/bin/shutdown.sh);
2、再关闭各 zookeeper 实例(zookeeperX/bin/zkServer.sh stop);

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐