当前位置:   article > 正文

节点内DataNode磁盘使用率不均衡处理指导_dfs.datanode.fsdataset.volume.choosing.policy

dfs.datanode.fsdataset.volume.choosing.policy

问题背景与现象

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

例如:

复制

  1. <span style="color:#333333">189-39-235-71:~ # df -h
  2. Filesystem Size Used Avail Use% Mounted on
  3. /dev/xvda 360G 92G 250G 28% /
  4. /dev/xvdb 700G 900G 200G 78% /srv/BigData/hadoop/data1
  5. /dev/xvdc 700G 900G 200G 78% /srv/BigData/hadoop/data2
  6. /dev/xvdd 700G 900G 200G 78% /srv/BigData/hadoop/data3
  7. /dev/xvde 700G 900G 200G 78% /srv/BigData/hadoop/data4
  8. /dev/xvdf 10G 900G 890G 2% /srv/BigData/hadoop/data5
  9. 189-39-235-71:~ # </span>

可能原因

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

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

原因分析

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

参数说明:dfs.datanode.fsdataset.volume.choosing.policy

可选值:

  • 轮询:org.apache.hadoop.hdfs.server.datanode.fsdataset.RoundRobinVolumeChoosingPolicy
  • 优先写剩余空间多的磁盘: org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy

解决办法

  1. 将DataNode选择磁盘策略的参数 dfs.datanode.fsdataset.volume.choosing.policy 的值改为

     

    org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy

    让DataNode根据磁盘剩余空间大小,优先选择磁盘剩余空间多的节点存储数据副本。 说明:
    • 针对新写入到本DataNode的数据会优先写磁盘剩余空间多的磁盘;
    • 部分磁盘使用率较高,依赖业务逐渐删除在HDFS中的数据(老化数据)来逐渐降低。
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号