内容纲要
概要描述
在 HDFS 中,NameNode Web UI (50070页面)或 hdfs dfsadmin -report 会显示部分 DataNode 存在“Non DFS Used”空间,导致总体可用容量低于预期。该指标反映的是 DataNode 本地磁盘上已被非 HDFS 数据(如操作系统、YARN 日志、其他服务临时数据等)占用的空间,但其实际计算逻辑与系统 df 展示的磁盘使用量并不直接对应
详细说明
Non DFS Used 的计算公式
HDFS DataNode 在计算“Non DFS Used”时,并非直接取系统 df 中的“已用”减去 Used,而是基于每块挂载盘的粒度,按如下逻辑判定:
单块磁盘的 值计算如下:
如果
per_disk_used - per_dfs_data_used < reserved ,
则
per_Non_DFS_Used = 0 ;
如果
per_disk_used - per_dfs_data_used > = reserved ,
则
per_Non_DFS_Used = per_disk_used - per_df_data_used - reserved
50070页面上显示的non dfs used 值为:
per_Non_DFS_Used1 +per_Non_DFS_Used2+…… +per_Non_DFS_UsedN
参数解释:
per_disk_used :单块磁盘(挂载点)的 总已用空间(通过 OS 统计,单位通常为字节)
dfs_data_used :该磁盘上 HDFS 数据目录( /xx/hadoop/data )的实际使用量
reserved : 配置参数 dfs.datanon_DFS_Usedode.du.reserved 的值(每块磁盘预留的保护空间,单位字节)
per_Non_DFS_Used: 单块磁盘的non_DFS_Used的值