Hbase 是什么?

Hbase是一个开源的,面向列的开源数据库。基于Fay Chang所撰写的Google论文“Bigtable:一个结构化数据结构的分布式存储系统”

Hbase在hadoop之上提供了类似于Bigtable的能力。Hbase是Apache的Hadoop项目的子项目。基于列的模式提供数据存储,非常适合于非结构化数据存储的数据库。

bigtable & hbase

Hbase是一个高可靠、高性能、面向列、可伸缩的分布式存储系统。利用Hbase技术可以在廉价PC Server上搭建大规模结构化存储集群。

Hbase在hadoop生态中的位置

image.png

从Hadoop的生态系统图中可以看到Hbase位于结构化存储层,Hadoop Hdfs为hbase提供高可靠性的底层存储支持,Hadoop MapReduce为Hbase提供高性能的计算能力,Zookeeper为Hbase提供了稳定服务和failover机制。

Hbase和hadoop各版本之间的适配关系
hbase在生态中的位置 hbase最新版本

  • √ 支持
  • × 不支持
  • ?未测试
hadoop & hbase 版本

Hbase各版本特性 摘自网络

1.0
1.API的变化,比如放弃了客户端几个重要的API:( HTableInterface, HTable,HBaseAdmin),建议程序升级到新的API,老的PAI会在2.X中删除。
2.不重启regionserver的情况下读取配置文件。
3.master节点也运行regionserver。master与regionserver共享RPC端口。
4.global memstore和block cache大小的自动调整。
5.Bucket cache改进(data blocks的可用性和压缩方面)
6.集群中一个新的可插拔式的终端来复制成自定义存储。(A new pluggable replication endpoint to plug in to HBase’s inter-cluster replication to replicate to a custom data store)
7.新增truncate table 命令
8.新增meta table来替代zk来进行更快的region分配(此功能默认是关闭都)
9.广泛的文档改进
10.[HBASE-12511] - namespace permissions - add support from table creation privilege in a namespace ‘C’
11.位Thrift Server添加Thrift-over-HTTPS 和 doAs支持(?)
12.bulkload复制表
13.使用前缀设置一个行的开始和结束更加easy了。
14.脚本停止regionserver使用RPC
15.客户端的原子性检查和变化的支持。
16.自动增加heap size的值如果开始没有指定大小的话。
17.regionserver协处理器终端。
18.添加了在一个regionserver上压缩所有region的命令。
19.添加LongComparator过滤器
20.[shell]在线加载配置文件的改变。
21.REST server的一些修复。
22.需要zk3.4.X的支持。
23.需要hadoop2.x的支持
24.jdk1.7,不再支持1.6
25.默认的端口号已经由600xx改成了160XX
26.默认使用hfile version3
27.Slab cache已经被移除,使用bucket cache
28.默认的regionserver堆内存由1G改为jdk默认的数值,一般为物理内存的四分之一。
29.mapred包和类已经被废除。
30.加入两个新的模块:hbase-annotations 和 hbase-rest

2.0
A new Region assignment manager
AssignmentManager V2(“AMv2”)基于Procedure V2实现,能够更快速的分配Region,维护的region状态机存储不再依赖于ZooKeeper,能够更好的应对Region长时间RIT问题。
Offheaping of Read/Write
减少对Heap内存的使用,改用Offheap区的内存,有效减少GC压力
In-Memory Compaction
重新设计了CompactingMemStore 替代 DefaultMemStore,CompactingMemStore中的数据达到一定大小以后,不是直接Flush成HDFS中的HFile文件,而是先Flush到内存中的一个不可改写的Segment,这样,内存中的多个Segments可以预先合并,当达到一定的大小以后,才Flush成HDFS中的HFile文件,这样做的好处是希望有效降低Compaction所带来的写IO放大问题。
NettyRpcServer
HBase2.0 开始默认使用NettyRpcServer
使用Netty替代HBase原生的RPC server,大大提升了HBaseRPC的吞吐能力,降低了延迟
Async RPC Client
HBase2.0 Client不在是原来同步等待,而是利用异步RPC机制,大大提高Client端请求并发度,有效提高资源利用率,扩大吞吐。
RegionServer Group
在HBase 2.0中我们可以将RegionServer划分到多个逻辑Group中,这样可以提供多租户的能力。
Support for MOB
MOB特性使得HBase支持存储小于10MB 的中等媒体对象数据,这些小对象文件采用独立的HFile文件进行存储,相比原来直接存储大对象插入hbase,其读写效率更高;Mob数据存储还是以hfile格式存储,兼容HBase现有特性,如snapshot、bulkload、replication等。MOB数据文件有独立的compaction和expire clean机制,稳定性更可控。
与1.x版本的兼容性
1.x版本的Client可以访问2.0版本的集群,进行正常的数据读写操作。但从1.x版本不停服务的情况下滚动升级到2.0版本是没法做到的,1.x版本的coprocessor/Endpoint不做改动的情况下也无法在2.0版本中正常使用。
备注:
1,结构化数据:可以用二维表结构来逻辑表达实现的数据,即行数据,行数据中的每个字段都有具体切明确的含义。参考链接
2,非结构化数据:不方便用数据库二维逻辑表来表现的数据即称为非结构化数据。包括所有格式的办公文档、图片、文本、XML、HTML、各类报表、图像和音视频。参考链接
3,failover机制:故障(失效)转移机制。是一种备份操作模式,当主要组件异常时,其功能转移到备份组件。其要点在于有主有备,且主故障时备可启用,并设置为主。例如Mysql的双Master模式。

延展
1,failfast:快速失败。尽可能发现系统中的错误,是系统能够按照事先设定好的错误执行流成执行,对应的方式是错误容忍(fail-tolerant),例如:在java中线程A通过iterator遍历集合,若该集合的内容被其他线程所改变了,那么线程A在访问集合时,就会抛出ConcurrentModificationException,即发现错误执行设定好的流程。参考链接
2,failback:失效自动恢复。在簇网络系统(有两台或多台服务器互联的网络)中,由于要对某台服务进行维修,需要网络资源和服务暂时重定向到备用系统,在此之后将网络资源和服务恢复为由原始主机提供的过程称为自动恢复。参考链接
3,failsafe:失效安全。即使在故障的时候也不会造成伤害或者减少伤害。维基百科上一个形象的例子是红绿灯的“冲突监测模块”当监测到错误或者冲突的信号时会将十字路口的红绿灯变为闪烁错误模式,而不是全部显示为绿灯。参考链接

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,227评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,755评论 1 298
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,899评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,257评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,617评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,757评论 1 221
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,982评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,715评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,454评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,666评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,148评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,512评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,156评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,112评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,896评论 0 198
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,809评论 2 279
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,691评论 2 272

推荐阅读更多精彩内容