更新时间:2022-09-30 GMT+08:00

配置HDFS单目录文件数量

操作场景

通常一个集群上部署了多个服务,且大部分服务的存储都依赖于HDFS文件系统。当集群运行时,不同组件(例如Spark、Yarn)或客户端可能会向同一个HDFS目录不断写入文件。但HDFS系统支持的单目录文件数目是有上限的,因此用户需要提前做好规划,防止单个目录下的文件数目超过阈值,导致任务出错。

HDFS提供了“dfs.namenode.fs-limits.max-directory-items”参数设置单个目录下可以存储的文件数目。

操作步骤

  1. 请参考修改集群服务配置参数,进入HDFS的“全部配置”页面。
  2. 搜索配置项“dfs.namenode.fs-limits.max-directory-items”

    表1 参数说明

    参数名称

    描述

    默认值

    dfs.namenode.fs-limits.max-directory-items

    定义目录中包含的最大条目数。

    取值范围:1~6400000

    1048576

  3. 设置单个HDFS目录下最大可容纳的文件数目。保存修改的配置。保存完成后请重新启动配置过期的服务或实例以使配置生效。

    用户尽量将数据做好存储规划,可以按时间、业务类型等分类,不要单个目录下直属的文件过多,建议使用默认值,单个目录下约100万条。