Mapreduce 读取Hbase,写入hbase IO 不均衡问题
来源:互联网 发布:手机动漫配音软件 编辑:程序博客网 时间:2024/05/29 18:04
硬件环境:h46、h47、h48 三个节点 2cpu 4核 共8个核心 14G 内存
软件环境:
三台机器分别部署hadoop、hbase 并同时作为datanode 和 tasktracker regionserver、HQuorumPeer;
H46同时为Namenode、Jobtracker 和HMaster 和HQuorumPeer
出现问题:跑mapreduce 时使用 iostat 1| grep sdb 查看各节点的Io情况,发现h46有和适量的IOWrite h48 的IOWrite 也在核实范围内,唯独h47 基本没有IO。
查找原因:mapreduce 执行报告中如下提示
Launched map tasks=207
local map tasks=92
意思是大多数map 的数据都不是本地的,根据原因查找数据量比较大的task 去查看其具体执行情况。
All Task Attempts
Task Attempts
Machine
attempt_201212071915_1816_m_000225_0
/default-rack/h47
意思是此task 是交给h47 来执行,没有问题,但47为什么没有IO呢
看下面
Input Split Locations
/default-rack/h48
也就是说 这个任务的数据是h48的
为什么出现这种情况呢,为什么非要从48 远程来跑task呢。
具体查看一下 .META.信息表 就可以看到,每个region 都是由具体的一个regionserver来管理,具体是哪个 是在每个region 的映射中的info:server 字段来指定。
可以查看 其实我的所有region 并没有给h47的regionserver 来管理,所以h47 就没有IO
产生原因:
具体就看hmaster 是如何分配regions 的
目前动态分配region是由master来分配,使用的是随机分配regions
而Hbase的 DefaultLoadBalance 是按照整体负载均衡的方式来分配region 的,而不是按照其中每张表所占的region 进行均衡banlance,导致每张表可能会不均等的分配到不同的region 上。
所以就会出现 上面的情况,我们所访问的hbase 表region 分配不均衡,但分配给具体TaskTracker的任务,而region 又不归它管,导致local map tasks<< Launched map tasks=207
- Mapreduce 读取Hbase,写入hbase IO 不均衡问题
- 【HBase基础教程】6、HBase之读取MapReduce数据写入HBase
- 通过mapreduce程序读取hdfs文件写入hbase
- 读取HDFS写入HBase
- mapreduce写入HBase,数据异常
- MapReduce同时写入HBase,HDFS
- hbase 下mapreduce 读取hbase中数据
- 【HBase基础教程】7、HBase之读取HBase数据写入HDFS
- HBase建表高级属性,hbase应用案例看行键设计,HBase和mapreduce结合,从Hbase中读取数据、分析,写入hdfs,从hdfs中读取数据写入Hbase,协处理器和二级索引
- Hbase通过 Mapreduce 写入数据到Mysql
- 从hbase表1中读取数据,最终结果写入到hbase表2 ,如何通过MapReduce实现 ?
- hbase->Mapreduce->hbase
- 03分布式NOSQL HBASE - mapreduce批量读取HBase的数据
- mapreduce读取hbase内容,结果放到hbase中
- mapreduce读取hbase值,结果输出到多个hbase表中
- spark将数据写入hbase以及从hbase读取数据
- park将数据写入hbase以及从hbase读取数据
- spark将数据写入hbase以及从hbase读取数据
- 在线使用FreeTextBox编辑器时,打空格的时候出现乱码,问号(?)
- memcached完全剖析–1. memcached的基础
- AJAX包含的技术和AJAX的缺陷
- linux下java程序使用第三方jar包
- 关于学习数学
- Mapreduce 读取Hbase,写入hbase IO 不均衡问题
- Android开发之对上下两个图层的操作
- 解析codepage和charset的含义及其应用
- The Castle
- memcached全面剖析–2.理解memcached的内存存储
- 多少块地(求可以分成多少个独立的区域)
- 在三层架构的B层应用TransactionScope事务
- Linux下判断文件或文件夹是否存在的方法
- 各自天涯 各自珍重