HBase架构的示例分析

小编给大家分享一下HBase架构的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

文圣ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

1 引言

    通常认为,Hadoop主要包含以下四大组件:

  • 分布式锁服务 Zookeeper

  • 分布式文件系统 HDFS

  • 分布式计算框架 MapReduce

  • 分布式数据库 HBase

    其中,Zookeeper是HDFS、MapReduce、HBase都要依赖的基础组件,它为分布式系统中的一致性问题的提供解决方案。

    狭义的Hadoop,就是指HDFS和MapReduce;广义的Hadoop,包括HDFS、MapReduce、HBase,甚至也包括这个生态圈中的Hive、Spark等。

    关于Hadoop生态圈的内容,见:http://www.36dsj.com/archives/23504

    Hbase构建于HDFS之上,它依赖HDFS和Zookeeper。

2 系统架构

HBase架构的示例分析 HBase架构的示例分析 HBase架构的示例分析

    下面分别介绍各类结点的作用:

Client

Client包含访问HBase的接口,并维护着一些Cache来加快对HBase的访问,比如regione的位置信息。

Zookeeper

  1. 保证任何时候,集群中只有一个master;实现Master主从节点的failover。

  2. 实时监控Region Server的状态,将Region Server的上线和下线信息实时通知给Master。

  3. 存储Region的寻址入口。

  4. 存储HBase的schema,包括有哪些table,每个table有哪些column family。

Master

  1. 负责RegionServer的负载均衡

  2. 管理和分配Region,比如在region split时分配新的Region;在Region Server退出时迁移其内的region到其它Region Server上。

  3. 负责schema的更新请求,实现DDL操作(如对table、column familiy的create、drop等),并将schema的更新同步到Zookeeper。

  4. 权限控制(ACL)。

Region server

  1. 维护Master分配给它的region,处理对这些region的IO请求。

  2. 负责切分在运行过程中变得过大的region。

    Client通过Zookeeper、Region Server寻址,找到用户talbe、RowKey所在的Region Server后,就直接从该Region Server读写数据了。这个过程不需要Master的参与,Master只是维护table和region的元数据信息,负载很低。

3 读写寻址

    HBase有个特殊的表:.META. ,它存储了所有用户table对应的Region位置信息,它是不可split的;而ZooKeeper节点(/hbase/meta-region-server)存储了.META.表的位置。

    客户端在第一次访问用户table的流程为:

  1. 从ZooKeeper(/hbase/meta-region-server)中获取hbase:meta的位置(HRegionServer的位置),缓存该位置信息。

  2. 从Region Server中查询用户table对应请求的RowKey所在的Region Server,缓存该位置信息。

  3. 从查询到的Region Server读取Row。

    从这个过程中,我们发现客户会缓存这些位置信息,然而第二步它只是缓存当前RowKey对应的HRegion的位置,因而如果下一个要查的RowKey不在同一个HRegion中,则需要继续查询hbase:meta所在的HRegion,然而随着时间的推移,客户端缓存的位置信息越来越多,以至于不需要再次查找hbase:meta Table的信息,除非某个Region因为宕机或split被移动,此时需要重新查询并且更新缓存。

以上是“HBase架构的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


文章标题:HBase架构的示例分析
链接分享:http://ybzwz.com/article/geigjs.html