您的位置:首页 > 运维架构

Hbase理论知识详解

2014-03-17 17:10 260 查看
表在行方向上,按照行key范围划分成若干的Region


每个表最初只有一个region,当记录数增加到超过某个阀值时,开始分裂成两个region


物理上所有数据存放在HDFS,由Region服务器提供region的管理


一台物理节点只能跑一个HRegionServer


一个Hregionserver可以管理多个Region实例


一个Region实例包括Hlog日志和存放数据的Store


Hmaster作为总控节点


Zookeeper负责调度







一个region由多个store组成,每个store包含一个列族的所有数据




Store包括位于把内存的memstore和位于硬盘的storefile


写操作先写入memstore,当memstore中的数据量达到某个阀值,Hregionserver会启动flashcache进程写入Storefile,每次写入形成一个单独的storefile


当storefile文件的数量增长到一定阀值后,系统会进行合并,在合并过程中会进行版本的合并和删除工作,形成更大的storefile


当storefile大小超过一定阀值后,会把当前的region分割成两个,并由Hmaster分配到 相应的region服务器,实现负载均衡


HBase中有两张特殊的Table,-ROOT-和.META.
.META.:记录了用户表的Region信息,它可以有多高region(这的意思是说.META.表可以分裂成多个region,和用户表一样)
-ROOT-:记录了.META.表的Region信息,-ROOT-只有一个region(也就是说它不可分割)
Zookeeper中记录了-Root-表的location
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Hadoop Hbase 理论