了解Hbase吗?说下Hbase的架构原理
了解Hbase吗?说下Hbase的架构原理
基本描述
Hbase作为NoSQL数据库的代表,属于三驾马车之一BigTable的对应实现。问到数据库的问题时,常常会问到行列式存储、关系数据库的不足,从而引出Hbase的问题。再者根据”实时即未来“理念,Hbase也经常作为流式数据的缓存存储。
下面总结了下自己被问到这类题目的回答,依然是--最好能边讲边画出图。
总结回答
1 简单解释Hbase设计的目的
ok,首先Hbase设计的目的是,去存储可伸缩的海量数据,从而实现面向在线业务的实时数据访问延迟。
2 概况Hbase的架构模型
Hbase是Master-Slaver的模型,由一个管理集群的Master节点及多个实际服务用户读写的RegionServer节点组成,并通过Zookeeper节点来协调Master对集群进行管理。
3 具体说下Hbase架构的各个部分
具体说的话,Hbase架构主要包含五个部分:
-
首先是 Hbase客户端,开始时,客户端client会通过元数据表来定位到目标数据的RegionServer,同时会把这些元数据缓存到客户端本地以方便处理; -
第二是 Zookeeper,Zookeeper用来协调管理分布式应用程序。主要体现在 实现Master的高可用,当active master宕机时,zookeeper会通过选举机制选举出新的master工作。 -
第三是 Master,Master 主要负责管理集群中所有RegionServer。Region的信息会记录在Master服务器上,client会通过master来查找Region,得到Region所在的服务器RegionServer,从而得到需要访问的数据。 -
第四是 RegionServer。RegionServer主要来响应用户对数据的读写的请求。Hbase中的数据以Hregion为单位来管理,HRegion和RegionServer为多对多的关系,一个表的HRegion会分布在集群中多台的RegionServer上,一个RegionServer也会管理多个Region。当HRegion写入数据大于阈值时,就会水平分裂成两个HRegion。 -
第五是 HDFS。Hbase中所有数据都存储在HDFS中,包括用户数据文件、Hlog日志文件。Hbase会通过封装好的DFSClient,来对HDFS的实际数据进行读写访问。
相关问题
-
Hbase和mysql的比较 -
HBase的RowKey、列簇怎么设计的 -
hive和hbase 区别? -
为什么选用hbase,hbase读数据流程说一下 -
hbase的region切分 -
rowkey设计原则
我是精神抖擞王大鹏,不卑不亢,和蔼可亲~
计算机硕士,目前小米大数据开发。日常会分享总结一些自己面试实际问题的回答,欢迎一起讨论。