赞
踩
HDFS 提供了一个用于 Datanode 内多磁盘之间的数据均衡工具,即 Diskbalancer (磁盘均衡器),它把数据均衡的分发到一个 Datanode 下的多个磁盘。Diskbalancer 和 Hadoop 2.0 版本以前提供的 Balancer 不同,因为 Balancer 关心的是不同 Datanode 之间的数据均衡,Datanode 内多个磁盘的数据均衡它是不起作用的。
HDFS 由于以下原因,在把数据存储到 Datanode 多个磁盘的时候,会出现磁盘之间数据不均衡的情况:
上面这两点可能导致数据在 Datanode 内的多个磁盘发生明显倾斜。这种情况现有的 HDFS balancer 均衡工具没办法处理,上面说了,它只关心 Datanode 之间的数据均衡,所以,Hadoop 3.0 提供了 Diskbalancer 工具,用于均衡一个Datanode 内多个磁盘之间的数据均衡。
Hadoop HDFS balancer 工具通过创建一个计划(命令集)并在 Datanode 执行该计划来工作。这里的计划主要描述的是有多少数据需要在磁盘之间做迁移。一个计划有很多迁移步骤,比如,源磁盘,目标磁盘和需要迁移的字节数。计划可以针对某一个 Datanode 执行特定操作。默认情况下,Diskbalancer 是未启用状态,您可以在 hdfs-site.xml 配置文件把 dfs.disk.balancer.enabled 设置为 true 来启用它。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。