【问题标题】:Client can only connect to zookeeper once客户端只能连接一次zookeeper
【发布时间】:2013-09-25 03:46:16
【问题描述】:

我正在尝试将 Solr 云与 Zookeeper 一起使用。根据solr cloud page,我正在尝试使用独立的动物园管理员并让 solr 实例连接到它。这是我的问题:我可以连接到 Zookeeper 一次。 solr 管理页面上的一切看起来都不错,并且“云”部分是准确的。如果我关闭客户端并重新启动,当我再次尝试访问 solr 管理页面时会收到 404。

在客户端或 Zookeeper 端的任何日志中都没有明显的错误。我有一个从 apache 站点下载的 vanilla zookeeper。我确保我所有的版本都是一样的。我的 zoo.cfg 很简单:

tickTime=2000
initLimit=10
syncLimit=5

我正在使用CloudSolrServer 将我的程序(正在运行 solr 实例)连接到 zookeeper。我已经阅读了很多关于客户端会话超时/终止的信息,但我猜想完全关闭并重新启动客户端会开始一个新的会话。

我正在使用 solr v4.1.0 和 zookeeper v3.4.5。

【问题讨论】:

    标签: solr apache-zookeeper solrcloud


    【解决方案1】:

    我相信我知道出了什么问题。我的程序中的错误逻辑错误地导致客户认为没有 Zookeeper 在运行,因此他们启动了嵌入式 Zookeeper。一旦启动,它就会与(实际运行的)独立 Zookeeper 通信,所以我运行了一个 2-instance zookeeper 集合。

    在我关闭它之后,独立的 zookeeper 仍然运行,现在我的程序通过 zoo_data 知道了它。重新启动时,它将连接到独立的 Zookeeper,但不会再次启动嵌入式 Zookeeper。这使得我只有 2 个动物园管理员中的 1 个在运行,而且不足以达到法定人数。所以我的程序只是在等待另一个动物园管理员上线,这永远不会发生。

    TL;DR:我的解决方案是修复检测 zookeeper 是否可以连接到的错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-02
      • 1970-01-01
      • 2015-10-13
      • 2014-04-26
      • 2011-05-20
      • 2012-05-10
      • 1970-01-01
      相关资源
      最近更新 更多