提高Hadoop Balancer 迁移block速度的方法

标签: 互联网应用 海量数据存储与处理 Hadoop | 发表时间:2015-06-19 11:04 | 作者:klose
出处:http://www.binospace.com

如何提高Hadoop Balancer迁移block的速度?

1)增加DataNode用于balancer的bandwidth。

dfs.datanode.balance.bandwidthPerSec
52428800

这个值是DataXceiverServer上BlockBalanceThrottler控制的带宽大小。该单位是Byte,如果机器的网卡和交换机的带宽有限,可以适当降低该速度。Hadoop系统默认是1048576 (1MB)。

2)增加DataNode上转移block的Xceiver的个数上限。
DataNode上同时用于balancer的Xceiver的个数受到了BlockBananceThrottler限制。可以适当调大如下的配置。

dfs.datanode.balance.max.concurrent.moves
50

这个值默认是5。如果仅仅在Balancer的hdfs-site.xml修改配置而没有修改DataNode下的配置,Balancer会抛出如下的WARN LOG:

2015-06-18 15:54:24,253 WARN org.apache.hadoop.hdfs.server.balancer.Dispatcher: Failed to move blk_1366768180_1100055981849 with size=134217728 from 172.22.6.25:1004:DISK to 172.22.5.23:1004:DISK through 172.22.5.99:1004: block move is failed: Not able to receive block 1366768180 from /172.22.6.5:33544 because threads quota is exceeded.

查看DataXceiverServer,如果同时执行Balancer的Xceiver的个数upperlimit是5个,将DataNode上这个参数调大才可以增加迁移Block的速度。
附带SourceCode:

/** Check if the block move can start.

*

* Return true if the thread quota is not exceeded and

* the counter is incremented; False otherwise.

*/

synchronizedboolean acquire() {

if (numThreads >= maxThreads) {

returnfalse;

}

numThreads++;

returntrue;

}

(这里maxThreads 就是’dfs.datanode.balance.max.concurrent.moves’控制的)

文章的脚注信息由WordPress的 wp-posturl插件自动生成


Copyright © 2008
This feed is for personal, non-commercial use only.
The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:
)

相关 [hadoop balancer block] 推荐:

提高Hadoop Balancer 迁移block速度的方法

- - Binospace
如何提高Hadoop Balancer迁移block的速度. 1)增加DataNode用于balancer的bandwidth. 这个值是DataXceiverServer上BlockBalanceThrottler控制的带宽大小. 该单位是Byte,如果机器的网卡和交换机的带宽有限,可以适当降低该速度.

hadoop学习(七)WordCount+Block+Split+Shuffle+Map+Reduce技术详解

- - CSDN博客数据库推荐文章
纯干活:通过WourdCount程序示例:详细讲解MapReduce之Block+Split+Shuffle+Map+Reduce的区别及数据处理流程.        Shuffle过程是MapReduce的核心,集中了MR过程最关键的部分. 要想了解MR,Shuffle是必须要理解的. 了解Shuffle的过程,更有利于我们在对MapReduce job性能调优的工作,以及对MR内部机理有更深一步的了解.

详解inline-block

- - Web前端 - ITeye博客
转自:http://ued.taobao.com/blog/2012/08/inline-block/. 曾几何时,display:inline-block 已经深入「大街小巷」,随处可见 「display:inline-block; *display:inline; *zoom:1; 」这样的代码.

display属性的block,inline和inline-block

- - CSDN博客推荐文章
  none  此元素不会被显示. block 此元素将显示为块级元素,此元素前后会带有换行符. 此元素会被显示为内联元素,元素前后没有换行符. inline-block 行内块元素. (CSS2.1 新增的值) . 在css中,inline-block:将对象呈递为内联对象,但是对象的内容作为块对象呈递.

白话Block Formatting Context

- MArCoRQ - UED TEAM,用户体验设计,web前端开发
一,啥是Block Formatting Context. 当涉及到可视化布局的时候,Block Formatting Context提供了一个环境,HTML元素在这个环境中按照一定规则进行布局. 一个环境中的元素不会影响到其它环境中的布局. 为了让我们有个感性的认识,举个不太合适的例子. 你可以把一个页面想象成大的集装箱,这个集装箱里装的货物就是HTML元素.

Galera Load Balancer 0.9.0 正式版发布

- - 开源中国社区最新新闻
Galera Load Balancer 0.9.0 发布了,主要是引入 libglb.so ,可为你的 Linux 应用增加负载均衡能力,只需重载 libc 的 connect() 调用即可;同时提供可客户端到服务器端的直连,无处重新编译;增加了 round-robin 均衡策略. GLB (Galera Load Balancer) 是一个与 Pen 类似的 TCP 负载均衡器,它功能没有 Pen 那么强大,其主要的目的是做一个非常快速的 TCP 协议代理.

短文: Block Chain 与 Paxos

- comain - fcicq's blog-beta
作为 P2P 系统, Bitcoin 的一致性实现方法是值得专门写出来的.. 下面一一列举 Paxos 的专有名词, 并指出 Bitcoin 中的对应方法/实现.. –最长链中所有的 Block 均为决议. (但链末尾并不稳定, 所以最近 120 个 Block 里产生的钱不能花.. 经历 120 block 之后, block 是彻底不可逆转的, 严格意义上最近 120 block 不能算通过的决议).

HBase-Data-Block-Encoding-Types介绍 - AlstonWilliams's Blog

- -
Cloudera HBase官方文档. 阅读本文前,请了解一下HFile的格式,对阅读本文会大有裨益.. 我们这里简单介绍一下HFile的组成,让读者知道什么是Data Block Encoding.. HFile中,包含了好几个部分,具体的请查看. HFile Format.我们这里只关心HFile里的Data Block..

Hadoop Streaming 编程

- - 学着站在巨人的肩膀上
Hadoop Streaming是Hadoop提供的一个编程工具,它允许用户使用任何可执行文件或者脚本文件作为Mapper和Reducer,例如:. 采用shell脚本语言中的一些命令作为mapper和reducer(cat作为mapper,wc作为reducer). 本文安排如下,第二节介绍Hadoop Streaming的原理,第三节介绍Hadoop Streaming的使用方法,第四节介绍Hadoop Streaming的程序编写方法,在这一节中,用C++、C、shell脚本 和python实现了WordCount作业,第五节总结了常见的问题.

Hadoop使用(一)

- Pei - 博客园-首页原创精华区
Hadoop使用主/从(Master/Slave)架构,主要角色有NameNode,DataNode,secondary NameNode,JobTracker,TaskTracker组成. 其中NameNode,secondary NameNode,JobTracker运行在Master节点上,DataNode和TaskTracker运行在Slave节点上.