激动
HBase2.0 啥时候发布?好奇宝宝也是期待了很久,曾几何时都把stack问“烦”了,就在2018年4月30日中午,
期待已久的HBase 2.0发布啦!
你是不是也很迫不及待想了解它?这次,作为一枚HBase搬运工,已经为你准备好了一大波 HBase 2.0.0导读材料,拿走不谢~
北京时间2018年4月30日(星期一) 中午12:24,HBase的“掌门人”Michael Stack 在Announce Mail List中宣布了HBase 2.0.0 版本正式Release,大家可以开始下载使用了。
膜拜
拜读stack大神announce email原文,激动人心的时刻:
The HBase team is happy to announce the immediate availability of Apache
HBase 2.0.0.
Apache HBase™ is the Hadoop database, a distributed, scalable, big data
store.
To learn more about HBase, see https://hbase.apache.org/.
HBase 2.0.0 is our second major release, the first release off the HBase
2.0 line.
Please review 'Upgrading from 1.x to 2.x' in the bundled HBase 2.0.0
Reference
Guide before installing or upgrading for a list of notable
incompatibilities, major
changes, and features including a new Region assignment manager ("AMv2"),
a means for configuring the read and/or write path to run off-heap, and an
optional In-Memory Compaction ("IMC", A.K.A "Accordion") facility.
According to our adopted Semantic Versioning guidelines[2], we allowed
ourselves make breaking changes in this major version release. For
example, Coprocessors will need to be recast to fit more constrained APIs
and
rolling upgrade of an hbase-1.x install to hbase-2.x without downtime is
(currently)
not possible. That said, a bunch of effort has been expended mitigating the
differences; a hbase-1.x client can perform DML against an hbase-2 cluster.
A
bundled compatibility report showing difference from 1.2.6 may be of help
[3].
For the complete list of fixes and improvements, see the included
`CHANGES.md` (or online at [1]) and `RELEASENOTES.md`.
......
邮件简述了HBase 2.0.0 有新版Assignment Manager V2,offhead read/write, in-memory compaction等。你是不是也很好奇,HBase 2.0 到底还有有哪些features?https://s.apache.org/hbase-2.0.0-JIRA-changes 上显示了HBase2.0.0相关的issue多达4551个issue, 这么多改动,还有哪些features值得关注一下呢?
了解
下面整理了一些HBase2.0.0 主要的feature介绍,更多特性,可以参考上述链接:
1.A new Region assignment manager ("AMv2") ,HBASE-14350 , HBASE-14614
AssignmentManager V2基于Procedure V2实现,能够更快速的分配Region,维护的region状态机存储不再依赖于ZooKeeper。亲可以搭建一个hbase2.0 集群,查看ZK节点列表,已经找不到类似region-in-transistion节点了。
2.Offheaping of Read/Write Path HBASE-11425,HBASE-15179
读写路径中,使用Offheap区的内存,大大减少GC压力,提高稳定性、降低99延时。细节见下面offheap扩展阅读材料。
3.In-Memory Compaction HBASE-17343
重新设计了CompactingMemStore 替代 DefaultMemStore,数据会在内存中事先进行合并compact,有效提高后续常规compaction的效率。
4.NettyRpcServer HBASE-17263 其实并不新鲜,早在1.x 淘宝就有使用,现在2.0 开始默认使用NettyRpcServer
使用Netty替代HBase原生的RPC server,大大提升了HBaseRPC的吞吐能力,降低了延迟
5.Async Client HBASE-16833 HBASE-15921
Client不在是原来同步等待,而是利用异步RPC机制,大大提高Client端请求并发度,有效提高资源利用率,扩大吞吐。
7. Support for MOB (Medium-Sized Objects) HBASE-11339
MOB特性使得HBase支持存储小于10MB 的中等媒体对象数据,相比原来直接存储大对象插入hbase,其读写效率更高;Mob数据存储还是以hfile格式存储,兼容HBase现有特性,如snapshot、bulkload、replication等。MOB数据文件有独立的compaction和expire clean机制,稳定性更可控。
研究
还不过瘾?下面还真为热爱专研的砖友们网罗了一些hbase2.0特性详细的扩展阅读!都是大神执笔的干货:
5. hbase2.0 offheap read
12. HBase 2.0 AMv2
官方下载&指南
HBase 2.0.0 安装包下载地址:
官方阅读:
1. https://s.apache.org/hbase-2.0.0-JIRA-changes 所有hbase2.0相关的jira,subtask
2. http://hbase.apache.org/2.0/book.html#hbase.versioning.post10 最新的HBase 2.0.0官方指南
3. http://apache.mirrors.tds.net/hbase/2.0.0/compatibiliity_report_1.2.6vs2.0.0.html 整理了v1.2.6和v2.0.0版本之间的兼容性报告
2. http://hbase.apache.org/2.0/book.html#hbase.versioning.post10 最新的HBase 2.0.0官方指南
3. http://apache.mirrors.tds.net/hbase/2.0.0/compatibiliity_report_1.2.6vs2.0.0.html 整理了v1.2.6和v2.0.0版本之间的兼容性报告
其他更多优化特性,不一一列举,后续可能会由”云HBase“小组为你带来更多HBase 2.0细节上的特性优化文章分享。
钉钉扫码关注hbase技术交流群,敬请期待。
最后播报一下,云HBase2.0 在2018年6月6日将正式发布,点击了解更多