Hadoop

HBase

2019-06-27  本文已影响22人  山间浓雾有路灯

HBase是一个开源的非关系型分布式数据库,参考了谷歌的BigTable建模,实现编程语言是java。
HBase运行于HDFS文件系统上,同时有少量的数据存在自身的内存中,可以容错的存储海量稀疏数据,不能保证key就一定是有数据的
HBase的特性包含了:高可靠,高并发读写,面向列,可伸缩,易构建。
HBase的优点:存储海量数据,快速随机访问,可以进行大量的读写操作(先写入内存再落地磁盘,所以支持改写

数据模型

6149692d-27fd-4fb7-8e77-2d7809c292ef-2500378.jpg

RowKey

Column Family

Column Qualifier

Version Number

Value

1a7739c3-2319-4e81-bbda-d53a351db5b0-2500378.jpg

物理模型

名词解析

Region(逻辑概念)

HRegion(物理概念)

RegionServer(逻辑概念)

HRegionServer(物理概念)

HStore

HLog

日志机制,避免数据的丢失,一个regionServer上的所有region共享一个HLog


d2964b54-9aa2-483a-b56d-c77dc467f743-2500378.jpg

系统架构

Client

访问HBase的接口,并维护Cache加速RegionServer的访问

HMaster(主)

HRegionServer(从)

Zookeeper

容错

master

Zookeeper重新选择一个新的master

regionServer

定时向Zookeeper汇报心跳,如果一段时间内未出现心跳,master将该regionServer上的region重新分配到其他regionServer上,失效服务器上“预写”日志由主服务器进行分割并派送给新的regionServer

Zookeeper

Zookeeper是一个可靠的服务,一般配置3或5个Zookeeper实例

写入流程

读取流程

hbase:meta这个表不做分裂,只存储用户表的元数据

上一篇下一篇

猜你喜欢

热点阅读