gpt4 book ai didi

java - ZooKeeper 每个节点的最大子节点数

转载 作者:搜寻专家 更新时间:2023-10-31 20:33:44 25 4
gpt4 key购买 nike

我正在使用 ZooKeeper 来存储分层数据。在一次测试中,我在一个节点下存储了超过 30 万个子节点。当我尝试检索所有子项时,ZK 客户端因 ConnectionLossException 而崩溃。

重构数据可能会解决问题(例如,通过分桶来减少每个节点的子节点数量)。

但是我很想知道以下问题的答案:

  1. ZK对一个节点上存储的数据有限制(不超过1MB),对每个节点的 child 数量有类似的限制吗?
  2. 增加 Java 堆大小是否允许 ZK 扩展每个节点的子节点数量?
  3. 有没有办法控制将这些 child 送回客户的方式?如果 child 是一批发送的,那么网络“打嗝”可能会破坏消息并导致失败。

谢谢!

最佳答案

对 child 的数量没有明确的限制。

但是,有一个限制可以从服务器发回的数据包的大小对 getChildren 的响应最终成为限制。这是由系统属性控制,jute.maxbuffer 并且默认为 4MB(我认为你可以获得大约 200,000 个 znodes,尽管它也取决于关于 znode 名称的长度)。

查看 this link进行全面讨论。

关于java - ZooKeeper 每个节点的最大子节点数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29791134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com