MAPREDUCE服务 MRS-为什么ZooKeeper Server出现java.io.IOException: Len的错误日志:回答

时间:2024-07-02 16:39:45

回答

在单个父目录中创建大量的znode后,当客户端尝试在单个请求中获取所有子节点时,服务端将无法返回,因为结果将超出可存储在znode上的数据的最大长度。

为了避免这个问题,应该根据客户端应用的实际情况将“jute.maxbuffer”参数配置为一个更高的值。

“jute.maxbuffer”只能设置为Java系统属性,且没有zookeeper前缀。如果要将“jute.maxbuffer”的值设为X,在ZooKeeper客户端或服务端启动时传入以下系统属性:-Djute.maxbuffer=X。

例如,将参数值设置为4MB:-Djute.maxbuffer=0x400000。

表1 配置参数

参数

描述

默认值

jute.maxbuffer

指定可以存储在znode中的数据的最大长度。单位是Byte。默认值为0xfffff,即低于1MB。

说明:

如果更改此选项,则必须在所有服务器和客户端上设置该系统属性,否则将出现问题。

0xfffff

support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_2109.html