2013-09-24 51 views
0

我正在尝试与zookeeper一起使用Solr云。根据solr cloud page,我试图使用独立的zookeeper并让solr实例连接到它。这是我的问题:我可以连接到zookeeper一次。 Solr管理页面上的所有内容都很好看,而“云”部分则准确无误。如果我关闭了我的客户端并重新启动,当我尝试再次访问solr管理页面时,我得到404'。客户端只能连接到动物园管理员一次

在客户端或动物园管理员端,在任何日志中都没有明显的错误。我有一个从apache站点下载的香草动物园管理员。我确信我所有的版本都是一样的。我zoo.cfg很简单:

tickTime=2000 
initLimit=10 
syncLimit=5 

我使用CloudSolrServer连接我的程序(它是运行Solr的实例)的ZooKeeper。我已经阅读了很多关于客户端会话超时/终止的内容,但是我会猜测完全关闭并重新启动客户端会开始新的会话。

我使用的是solr v4.1.0和zookeeper v3.4.5。

回答

0

我相信我弄清楚了什么是错的。我的程序中的错误逻辑错误地导致客户端认为没有zookeeper正在运行,所以他们启动了一个嵌入式zookeeper。一旦这样,它就会与(实际运行的)独立动物园管理员进行通信,所以我有一个2实例动物园管理员组合运行。

当我关闭它后,独立的zookeeper保持不变,现在我的程序通过zoo_data知道它。重新启动时,它将连接到独立动物园管理员,但不能再次启动嵌入式动物园。这使得我只有2个动物园管理员中有1个正在运行,并且不足以达到法定人数。所以我的计划只是旋转轮子等待另一个动物园管理员上网,这绝不会发生。

TL; DR:我的解决方案是修复检测动物园管理员是否可以连接的错误。