HBase

HBase是一个分布式存储系统,它利用rowKey来标记表中的一行,表中的每一列都归属与某一个列族。列和rowkey确定一个元素。元素中有时间戳(版本号),表示一个数据的多个版本。

HBase的物理存储类似采用按行分表存储。按照行将一个表分为多个Hregion。(开始的时候一个表只有一个Hregion,当表中的数据多余某个阈值,表就会被分割成多个Hregion)Hregion是Hbase中的分布式存储和负载均衡的最小单元,一个HregionServer上可以存储多个Hregion。

HBase中各个角色的作用:

client:包含访问hbase的接口,client维护着一些cache来加快对hbase的访问,比如regione的位置信息。

Zookeeper:(1)保证任何时候,集群中只有一个master (2)存贮所有Region的寻址入口。(3)实时监控Region Server的状态,将Region server的上线和下线信息实时通知给Master (4)存储Hbase的schema,包括有哪些table,每个table有哪些column family

Master:(1) 为Region server分配region (2)负责region server的负载均衡 (3) 发现失效的region server并重新分配其上的region (4) GFS上的垃圾文件回收 (5) 处理schema更新请求

Region Server:(1) Region server维护Master分配给它的region,处理对这些region的IO请求 (2) Region server负责切分在运行过程中变得过大的region

可以看到,client访问hbase上数据的过程并不需要master参与(寻址访问zookeeper和region server,数据读写访问regione server),master仅仅维护者table和region的元数据信息,负载很低。

http://www.uml.org.cn/zjjs/201211132.asp

posted @ 2016-05-25 22:20  三美元  阅读(200)  评论(0编辑  收藏  举报