设为首页 加入收藏

TOP

HDFS Balance调优参数设置
2019-04-23 00:10:37 】 浏览:166
Tags:HDFS Balance 参数 设置

问题背景与现象

当HDFS集群各个DataNode存储的数据不均衡时,需要使用hdfs balance功能,调整相关参数可以提升balance性能。

操作步骤

  1. 修改如下参数:

    • dfs.datanode.balance.bandwidthPerSec =209715200说明:
      • 该参数限定每个DataNode用来平衡数据时,占用带宽的上限;
      • 这个参数的调整要看组网情况,如果集群负载较高,可以改为20971520(200MB),如果集群空闲,可以改为1073741824 (1G)。
    • dfs.datanode.max.transfer.threads = 8192
    • dfs.namenode.replication.max-streams=20
    • dfs.datanode.balance.max.concurrent.moves=30

1. dfs.datanode.max.transfer.threads

修改dfs.datanode.max.transfer.threads=4096 (如果运行HBase的话建议为16384),
指定用于在DataNode间传输block数据的最大线程数,老版本的对应参数为dfs.datanode.max.xcievers。

默认:16384-----是否可以继续调大


2. dfs.datanode.balance.bandwidthPerSec

修改dfs.datanode.balance.bandwidthPerSec=52428800,指定DataNode用于balancer的带宽为50MB,
这个根据情况而定,如果交换机性能好点的,完全可以设定100MB,单位是Byte,
如果机器的网卡和交换机的带宽有限,可以适当降低该速度,比如10MB,默认是1048576(1MB)。
hdfs dfsadmin-setBalancerBandwidth 52428800

3. dfs.balancer.block-move.timeout

以毫秒为单位移动的最大时间。如果这个设置大于0,平衡器将停止等待一个块移动完成。在典型的集群中,3到5分钟的超时是合理的。
如果超时发生在很大比例的块移动中,则需要增加。它也可能是太多的工作被分派,并且许多节点的带宽总是超过带宽限制。
在这种情况下,可能需要调整其他平衡器参数。默认情况下,它是禁用的。

4. dfs.balancer.max-no-move-interval

如果这个指定的时间量已经过去,并且没有一个块被移出源DataNode,那么将会有更多的努力在当前的平衡迭代中移出这个DataNode的块。
---------------------

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇mahout usercf 单机使用(从hdfs.. 下一篇HDFS的写入流程及副本复制策略(..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目