如何清除Zookeeper损坏

时间:2014-02-27 20:28:04

标签: hadoop solr cluster-computing apache-zookeeper

我正在寻找一些帮助来弄清楚如何清除看起来像Zookeeper中的腐败。我们的设置与Solr Cloud运行良好。在某些时候,其中一个群集节点上的根分区已满,系统已关闭。在我们重新启动之后,Solr没有响应,无法启动。

看起来动物园管理员数据中存在损坏。无论何时客户端尝试访问节点/监督/队列,它都将使用错误终止连接:

  

...“KeeperException $ ConnectionLossException:KeeperErrorCode = / Overseer / queue的ConnectionLoss”

打开zk客户端shell允许我们列出其他节点,但如果我们尝试删除/监督节点上的/ list / clear / etc,它将失败并显示此错误。

是否有任何手动步骤可以解决这个问题?任何帮助将不胜感激。

编辑:看起来/ overseer / queue节点下有超过200k个子节点。也许这与它有关,但如果我们甚至无法将它们列出来,我们就无法删除子节点。

1 个答案:

答案 0 :(得分:2)

Zookeeper数据库没有损坏,但是zookeeper对最大响应大小有限制,并且列出znode的200k个子节点超过了这个最大响应大小。

要解决此问题,您可以将jute.maxbuffer设置为较大的值,以便列出和删除队列中的节点。您需要在所有服务器以及用于清理的客户端上更新此设置。

有一个未解决的错误,ZOOKEEPER-1162