概述:
此分享包括:MapReduce研究现状和毕玄-HBase简介与实践分享的汇总
汇总点:
Table in HBase以Region为单位管理region(startKey,endKey);Hbase每个Column Family单独存储:storeFile;Hbase当某个Column Family累积的大小 > 某阈值时,自动分裂成两个Region通过查找-ROOT- & .META.来获取某行在某region上;RegionServer:Region读写操作的场所;Master:管理Region的分配和基于zookeeper来保证HA;Hbase的强一致性:同一行数据的读写只在同一台regionserver上进行;Hbase的水平伸缩表现在:region的自动分裂以及master的balance、只用增加datanode机器即可增加容量和增加regionserver机器即可增加读写吞吐量;Hbase行事务同一行的列的写入是原子的;Hbase合理设计rowKey & Pre-Sharding;Hbase开启压缩create table ‘t1’,{NAME => ‘cf1’, COMPRESSION => ‘lzo’}Hadoop集群监控工具Ganglia;
Hadoop调优点:
I/O:io.sort.mbio.sort.percentio.sort.record.percentio.sort.spill.percentShuffle:tasktracker.http.threadsmapred.reduce.parallel.copiesmapred.job.shuffle.input.buffer.percent其他:数据压缩推测性执行(同时执行同一Task,杀死运行慢的)同一节点的Child重用jvm重写Partitioner,使分布到各Reducer的数据均匀设置堆空间大小
写速度关键因素:
Table region分布均衡;单台region server的region数;hbase.regionserver.handler.counthbase.regionserver.global.memstore.upperLimithbase.hregion.memstore.block.multiplierhbase.hstore.blockingStoreFileshbase.hregion.max.filesize
读速度关键因素:
单台Region Server上的Region数;StoreFile数;bloomfilter;in-memory flag;blockcache设置;hfile.block.cache.size;
更多详情参见附件