我正在使用ZooKeeper来存储分层数据。在一项测试中,我为一个节点存储了超过300K的子代。当我尝试检索所有子项时,ZK客户端由于ConnectionLossException而崩溃。
数据重塑可能会解决问题(例如,通过分批存储,因为它减少了每个节点的子代数量)。
但是,我很好奇知道以下问题的答案:
谢谢!
最佳答案
子女人数没有明确限制。
但是,有一个
限制了可以从服务器发回的数据包的大小
对getChildren
的响应实际上是极限。这是
由系统属性jute.maxbuffer
控制,默认为4MB(
认为您可以在其中获得约200,000个znode,尽管这还取决于
在znode名称的长度上)。
查看this link以获取完整的讨论。
关于java - ZooKeeper每个节点的最大子代数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29791134/