客户端链接ZK服务器,而后即行ls /curator_sample,报错以下: java
从网上搜索到一篇文章:http://stackoverflow.com/questions/10249579/zookeeper-cli-failing-ioexception-packet-len12343123123-is-out-of-range 服务器
其中有个回答: 大数据
我去看了下报错的位置在ClientCnxnSocket.java的112行。代码以下: spa
发现packetLen的大小是4096*1024, io
原来是返回的数据大小超过了了4096*1024。 集群
ls 操做是要查看全部的子节点名称列表。因此要返回的数据大小大概是:节点名称和节点数的乘积大概超过了4096*1024。因此节点名称要尽可能小,这样才可能建立较多的节点数。固然不多状况下会在一个节点的子节点下会有大理的子节点,通常都是层层嵌套的。 cli
解决方案:能够经过参数jute.maxbuffer来设置一个更大的参数便可。用于配置单个数据节点上能够存储的最大数据量大小。须要注意的是在变动该参数的时候,须要在zookeeper集群中的全部机器以及全部的客户端上均设置才能生效。
zookeeper