Hadoop 请求数据长度 Requested Data length 超过配置的最大值

一、问题

现象

Spark 任务速度变慢,也不失败。

DataNode 内存足够 CPU 负载不高 GC 时间也不长。

查看 DataNode 日志,发现有些日志出现很多 Netty RPC 超时。超时的 destination 是一个 NameNode 节点,然后查看 NameNode 节点的日志,报错如下:

二、解决方案

查找对应 Hadopo 源码

源码

org.apache.hadoop.ipc.Server.Connection#checkDataLength

java 复制代码
    private void checkDataLength(int dataLength) throws IOException {
      if (dataLength < 0) {
        String error = "Unexpected data length " + dataLength +
                       "!! from " + getHostAddress();
        LOG.warn(error);
        throw new IOException(error);
      } else if (dataLength > maxDataLength) { 
        String error = "Requested data length " + dataLength +
              " is longer than maximum configured RPC length " + 
            maxDataLength + ".  RPC came from " + getHostAddress();
        LOG.warn(error);
        throw new IOException(error);    // <-------------- 异常从此处抛出来
      }
    }

this.maxDataLength = conf.getInt(CommonConfigurationKeys.IPC_MAXIMUM_DATA_LENGTH,
       CommonConfigurationKeys.IPC_MAXIMUM_DATA_LENGTH_DEFAULT);

  /** Max request size a server will accept. */
  public static final String IPC_MAXIMUM_DATA_LENGTH =
      "ipc.maximum.data.length";
  /** Default value for IPC_MAXIMUM_DATA_LENGTH. */
  public static final int IPC_MAXIMUM_DATA_LENGTH_DEFAULT = 64 * 1024 * 1024;

修改NameNode的hdfs-site.xml配置文件,添加以下配置:

xml 复制代码
<property>
  <name>ipc.maximum.data.length</name>
  <value>67108864</value>
  <description>This indicates the maximum IPC message length (bytes) that can be
    accepted by the server. Messages larger than this value are rejected by the
    immediately to avoid possible OOMs. This setting should rarely need to be
    changed.
  </description>
</property>

64M -> 256M

67108864 * 4 = 268435456

允许ipc通讯最大的数据包为256MB,默认配置为64MB。

最后重启 NameNode,再重启 DataNode。

相关推荐
智塑未来8 小时前
App竞品数据平台选型指南:从入门到精通的全维度研判方法
大数据
回眸不遇9 小时前
Elasticsearch嵌套类型nested使用指南<第七十二篇>
大数据·elasticsearch·jenkins
龙亘川9 小时前
城市运管服平台下综合办公数字化建设实践与思考
大数据·人工智能·智慧城市·开源软件·数据可视化
SM_YHJ10 小时前
RFID通道门禁与资产台账联动的自动登记技术实现方案
大数据·数据库·人工智能
liliangcsdn10 小时前
PMI参数的解读与应用分析
大数据
AI编程教父11 小时前
WorkBuddy企业培训怎么选?腾讯云公开课程与红烁AI内训对比
大数据·人工智能
大大大大晴天11 小时前
湖仓时代的数据生命周期治理:让数据留得有价值、删得有依据
大数据
Likeadust11 小时前
连锁扩张管控难?一套视频会议/直播/点播/集群对讲EasyDSS打通门店全流程数字化
大数据·媒体·easydss
yaozhicloud12 小时前
学术会议合规的三个断层,很多药企还没意识到
大数据·软件需求
龙亘川12 小时前
设备管理业务建模:从设备信息台账到维护计划执行闭环
大数据·人工智能·智慧城市·开源软件·数据可视化