1.基本架构图

  

2.基本组件

  2.1 client

    包含访问HBase接口,并维护cache来加快对HBase的访问;

  2.2 zookeeper

    (1)保证在任何时候,集群只有一个master;

    (2)存储所有region的寻址入口;

    (3)实时监控region server的上线下线活动信息,并实时通知给master;

    (4)存储HBase的Schema和table元数据;

  2.3 HMaster

    (1)为region Server分配region;

    (2)负责region server的负载均衡;

    (3)发现失效的region server并重新分配其他region;

    (4)管理用户对table(admin)的增删改查操作;

  2.4 Region Server

    (1)region server维护region,处理对这些region的IO请求;

    (2)region server负责切分在运行过程中变得过大的region;

  2.5 zookeeper的作用

    

    (1)HBase依赖zookeeper;

    (2)默认情况下,HBase管理zookeeper实例,比如启动或者停止zookeeper;

    (3)master与region servers启动时会向zookeeper中注册;

    (4)zookeeper的引入是的master不再是单点故障;

      单点故障:单个点发生的故障,通常应用与计算系统及网络;实际指的是单个发生故障的时候会涉及到整个系统或者网络,从而导致整个系统或者网络瘫痪;zookeeper能够保证集群中只要能够一半以上的节点是健康的,那么该集群就是可用的;

  2.6 HBase容错性

    2.6.1 master容错

      zookeeper重新选择一个新的master;

      无master的过程中,数据读取仍照常运行;

      无master的过程中,region且反,负载均衡等无法进行;

    2.6.2 region server容错

      定时向zookeeper汇报心跳,如果一旦一段时间内未出现心跳,master将该region server上的region重新分配到其他region server上;

      失效服务器上“预写”日志(HLOG)有主服务器进行分割并派送给新的region server;

    2.6.3 zookeeper容错

      zookeeper是一个可靠的服务,一般配置三到五个实例;

  2.7 region寻址

      

    旧寻址方式:在HBase0.96版本以前,HBase有两个特殊的表,分别是-ROOT-表和.META.表,其中-ROOT-的位置存储在zookeeper中,-ROOT-本身存储了.META. Table的regionInfo信息,并且-ROOT-不会分裂,只有一个region;而.META.表可以被切分成多个region;

      

      第一步:client请求ZK获取-ROOT- 所在的regionserver地址;

      第二步:client请求-ROOT-所在的RS地址,获取.METAE.表的地址,client会将-ROOT-的相关信息cache下来,以便下一次快速访问;

      第三步:client请求.META.表的RS地址,获取访问数据所在region server的地址,client会将.META.的相关信息cache下来,以便下一次快速访问;

      第四步:client请求访问数据所在region server的地址,获取对应的数据;

    新的寻址方式:0.96版本以后将-ROOT-表去掉了

      

      第一步:client请求ZK获取.META.所在的region server的地址;

      第二步:client请求.META.所在的region server获取访问数据所在的region server地址,client会将.META.的相关信息cache下来,以便下一次快速访问;

      第三步:client请求数据所在的region server,获取所需要的数据;

3.HBase应用场景

  3.1 需要对数据进行随机读操作或者随机写操作;

  3.2 大数据上高并发操作,比如每秒对PB级数据进行上千次操作;

  3.3 读写访问均是非常简单的操作;

 posted on 2020-05-11 19:19  wnwn  阅读(222)  评论(0编辑  收藏  举报