
# 节点内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](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0128.html)。
   
   
2. 选择"集群 \> 服务 \> HDFS \> 配置 \> 全部配置"。
3. 搜索"dfs.datanode.fsdataset.volume.choosing.policy"参数名称，并将参数值修改为"org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy"。
4. 保存并重启受影响的服务或实例。让DataNode根据磁盘剩余空间大小，优先选择磁盘剩余空间多的节点存储数据副本。 
   ![](https://support.huaweicloud.com/trouble-mrs/public_sys-resources/note_3.0-zh-cn.png)
   - 针对新写入到本DataNode的数据会优先写磁盘剩余空间多的磁盘。
   
   - 部分磁盘使用率较高，依赖业务逐渐删除在HDFS中的数据（老化数据）来逐渐降低。
    
   
   
 
