文档首页/ MapReduce服务 MRS/ 故障排除/ 使用HDFS/ 节点内DataNode磁盘使用率不均衡
更新时间:2025-08-13 GMT+08:00

节点内DataNode磁盘使用率不均衡

问题描述

单个节点内DataNode的各磁盘使用率不均匀。

例如:

189-39-235-71:~ # df -h
Filesystem  Size  Used Avail Use% Mounted on
/dev/xvda  360G  92G   250G  28% /
/dev/xvdb  700G  900G   200G  78% /srv/BigData/hadoop/data1
/dev/xvdc  700G  900G   200G  78% /srv/BigData/hadoop/data2
/dev/xvdd  700G  900G   200G  78% /srv/BigData/hadoop/data3
/dev/xvde  700G  900G   200G  78% /srv/BigData/hadoop/data4
/dev/xvdf  10G   900G   890G  2% /srv/BigData/hadoop/data5
189-39-235-71:~ #  

可能原因

部分磁盘故障,更换为新盘,因此新盘使用率低。

增加了磁盘个数,如原先4个数据盘,现扩容为5个数据盘。

原因分析

DataNode节点内写block磁盘时,有两种策略“轮询”和“优先写剩余磁盘空间多的磁盘”。

  • 参数说明:dfs.datanode.fsdataset.volume.choosing.policy
  • 可选值:
    • org.apache.hadoop.hdfs.server.datanode.fsdataset.RoundRobinVolumeChoosingPolicy轮询
    • org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy优先写剩余空间多的磁盘

处理步骤

  1. 登录FusionInsight Manager。

    登录集群Manager具体操作,请参考访问MRS集群Manager

  2. 选择“集群 > 服务 > HDFS > 配置 > 全部配置”。
  3. 搜索“dfs.datanode.fsdataset.volume.choosing.policy”参数名称,并将参数值修改为“org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy”。
  4. 保存并重启受影响的服务或实例。让DataNode根据磁盘剩余空间大小,优先选择磁盘剩余空间多的节点存储数据副本。

    • 针对新写入到本DataNode的数据会优先写磁盘剩余空间多的磁盘。
    • 部分磁盘使用率较高,依赖业务逐渐删除在HDFS中的数据(老化数据)来逐渐降低。