了解Hbase吗?说下Hbase的架构原理
Posted 精神抖擞王大鹏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了了解Hbase吗?说下Hbase的架构原理相关的知识,希望对你有一定的参考价值。
了解Hbase吗?说下Hbase的架构原理
我是精神抖擞王大鹏,不卑不亢,和蔼可亲~
计算机硕士,目前小米大数据开发。日常会分享总结一些自己面试实际问题的回答,欢迎一起讨论。
公众号:diting_dapeng
基本描述
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设计原则
以上是关于了解Hbase吗?说下Hbase的架构原理的主要内容,如果未能解决你的问题,请参考以下文章