datanode节点磁盘数据均衡

     apache hadoop3.x后新增了节点磁盘数据均衡功能,cdh在5.8后已加入该功能。在没有该功能时,我们一般都会通过写盘策略来保证均衡,目前Hadoop支持两种volume选择策略:round-robin 和 available space,我们可以通过 dfs.datanode.fsdataset.volume.choosing.policy 参数来设置。

  在cdh中启用磁盘均衡功能:

      在cm管理台,hdfs配置中加入如下配置:

datanode节点磁盘数据均衡

dfs.disk.balancer.enabled=true

dfs.disk.balancer.max.disk.throughputInMBperSec=100

dfs.disk.balancer.plan.threshold.percent=2

dfs.disk.balancer.block.tolerance.percent=5

保存,重启datanode节点。

执行平衡操作:

生成平衡计划(hadoop1为主机名)

hdfs diskbalancer -plan hadoop1

执行平衡计划

hdfs diskbalancer -execute /system/diskbalancer/hadoop1.plan.json

查看执行状态

hdfs diskbalancer -query hadoop1