写在前面
本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!
本专栏目录结构和文献引用请见1000个问题搞定大数据技术体系
解答
什么是数据负载均衡策略?
HDFS的架构支持数据均衡策略。
如果某个 DataNode 节点上的空闲空间低于特定的临界点,按照均衡策略系统就会自动地将数据从这个 DataNode 移动到其他空闲的 DataNode。
当对某个文件的请求突然增加,那么也可能启动一个计划创建该文件新的副本,并且同时重新平衡集群中的其他数据。
当HDFS负载不均衡时,需要对 HDFS 进行数据的负载均衡调整,即对各节点机器上数据的存储分布进行调整,从而让数据 均匀的分布在各个 DataNode 上,以均衡 IO 性能、平衡 IO、平均数据、平衡集群,防止热点的发生
start-balancer.sh
在 Hadoop 中,包含一个 start-balancer.sh 脚本,通过运行这个工具,启动 HDFS 数据均衡服务。
$HADOOP_HOME/bin 目录下的 start-balancer.sh 脚本就是该任务的启动脚本。
启动命令为
$HADOOP_HOME/bin/start-balancer.sh -threshold
影响 Balancer 的几个参数:
-threshold
- 默认设置:10
- 参数取值范围:0-100
- 参数含义:判断集群是否平衡的阈值。
- 参数含义:理论上,该参数值越小整个集群就越平衡
dfs.balance.bandWidthPerSec
- 默认设置:1048576(M/S)
- 参数含义: Balancer运行时允许占用的带宽