hbase0.96(Singularity)介绍

20131019apache官方发布了hbase0.96.0版本,共提交了2134patch,与官方声称的0.94是性能提升版不同,0.96在可用性上做了很大努力,大幅提升了稳定性、可操作性以及伸缩性。下面介绍下0.96的主要新特性:



ReducedMean-Time-To-Recovery (MTTR)

大量优化操作使regionservercrash对集群影响从分钟级降到秒级。改进主要包括以下几个方面:

  • HBASE-5844HBASE-5926:删除zookeeperRegionServer/Master对应的znode,这样就省的等到znode30s超时才发现对应的RS/Master挂了。

  • HBASE-7006DistributedLog Replay,就是直接从HDFS上读取宕机的WAL日志,直接向新分配的RS进行LogReplay,而不是创建临时文件recovered.edits然后再进行LogReplay

  • HBASE-7213/8631HBaseMETA表中所有的Region所在的RegionServer将会有两个WAL,一个是普通的,一个专门给META表对应的Region用。这样在进行recovery的时候可以先恢复META表。



负载均衡策略

0.96之前版本的balance策略依据各regionserver管理的region数目,当各服务器管理的region数量超过一定差值后触发balance

0.96使用的是StochasticLoadBalancer,综合考虑数据本地化比例、storefile文件大小、memstore大小、以及表在各服务器上的region数量来做balance,这使得能更均衡的利用各服务器的资源。


Block压缩方式Prefix tree


说明:

1.作者没有指出单条KV的平均大小

2.NONE指的是不启用DataBlockEncodePREFIX指的是PREFIXEncode算法;TRIE才是前缀树block压缩算法。

3.前缀树压缩算法在不同的blocksize下查找性能都很稳定,而NONEPREFIX由于是用遍历的方式查找数据,所以查找性能随着blocksize直线下降。对于我们默认的64Kblock大小,性能相差40+

4.NONEPREFIX算法性能好,是由于PREFIX算法需要解压



Compaction策略

compaction的优化目标是执行Compaction操作能合并越多的文件越好,如果合并同样多的文件产生的IO越小越好,这样select出来的列表才是最优的。默认的Compaction算法从RatioBasedCompactionPolicy改为了ExploringCompactionPolicy

主要不同在于:

  • RatioBasedCompactionPolicy是简单的从头到尾遍历StoreFile列表,遇到一个符合Ratio条件的序列就选定执行compaction。对于典型的不断flushmemstore形成StoreFile的场景是合适的,但是对于bulk-loaded是不合适的,会陷入局部最优。

  • ExploringCompactionPolicy则是从头到尾遍历的同时记录下当前最优,然后从中选择一个全局最优列表。



protobufrpc

所有的请求都使用protobuf重写,方便不同版本间兼容、快速修复bug、添加新特性等操作。



版本升级不需要停集群

由于96使用protobuf重写了rpc组件,使得96之后做跨大版本升级不再需要重启集群。



支持多集群间不同版本相互通信

支持master/slavereplication 和多集群跨版本的访问。



Snapshots

HBaseSnapshots allow you to take a snapshot of a table without too muchimpact on Region Servers. Snapshot, Clone and restore operationsdon't involve data copying. Also, Exporting the snapshot to anothercluster doesn't have impact on the Region Servers.



参考

http://blog.cloudera.com/blog/2012/06/the-singularity-hbase-compatibility-and-extensibility

http://www.slideshare.net/ydn/hadoop-meetup-hug-october-2013-hue-the-ui-for-apache-hadoop

http://zjushch.iteye.com/blog/1843793

http://blog.csdn.net/yangbutao/article/details/12911487

http://www.slideshare.net/jaxlondon2012/intro-to-hbase-lars-george

https://blogs.apache.org/hbase/entry/hbase_0_96_0_released

http://hortonworks.com/blog/announcing-apache-hbase-0-96/

http://yanbohappy.sinaapp.com/?p=434

你可能感兴趣的:(hbase0.96(Singularity)介绍)