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。

相关推荐
TTBIGDATA11 分钟前
【Ambari Plus】13.Spark 安装
大数据·hadoop·分布式·spark·ambari·sqoop·ambari plus
keyanbanyungong2 小时前
被市场忽略的AI4S细分赛道:MedPeer生物医药科研数字化稀缺龙头
大数据·人工智能
得物技术2 小时前
得物 OceanBase 落地实践
数据库·分布式·架构
北京软秦科技有限公司3 小时前
跨区域批量项目交付难题如何破解?IACheck AI报告审核通审Agent版推动检测机构实现报告均质化管理
大数据·人工智能
鉴生Eric3 小时前
改造预算有限怎么办?先车库、走廊等高耗电区域分步升级照明
大数据·人工智能
AllData公司负责人3 小时前
数据集成管理|AIIData数据中台实现MySQL、Hive、Oracle一键接入Doris
大数据·数据库·人工智能·hive·mysql·oracle·数据分析
Databend3 小时前
小 Bitmap,大优化:Databend 如何加速大规模集合聚合
大数据·数据库·sql
本旺3 小时前
Flink 2.x状态演进:理解解 1.x 与 2.x 状态存储机制
大数据·flink
格子生意经4 小时前
GEO系统多引擎自适应算法实战解析
大数据·人工智能
2601_957190904 小时前
2026 沉浸式文旅投资风口|XR 黑暗乘骑市场前景、收益模型与落地指南
大数据·娱乐