zoukankan      html  css  js  c++  java
  • 072 HBase的架构以及各个模块的功能

    一:整体架构

    1.体系结构

      

    2.物理模型

      

      

      

      

    3.存储体系

       regionserver—>region->多个store(列簇)->一个memstore和多个storefile 

    4.HDFS上的目录结构

      namespace—》table-》region-》列簇-》storefile

      

     5.整体结构

      

    6.HBASE的存储结构

      

    7.写入流程

      

    二:各个模块的功能

    1.client  

      整个HBase集群的访问入口;
      使用HBase RPC机制与HMaster和HRegionServer进行通信;
      与HMaster进行通信进行管理类操作;
      与HRegionServer进行数据读写类操作;
      包含访问HBase的接口,并维护cache来加快对HBase的访问

    2.Zookeeper

      保证任何时候,集群中只有一个HMaster;
      存贮所有HRegion的寻址入口;
      实时监控HRegion Server的上线和下线信息,并实时通知给HMaster;
      存储HBase的schema和table元数据;

    3.HMaster

      HMaster没有单点问题,HBase中可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master在运行,主负责Table和Region的管理工作。
      管理用户对table的增删改查操作;
      管理HRegionServer的负载均衡,调整Region分布;
      Region Split后,负责新Region的分布;
      在HRegionServer停机后,负责失效HRegionServer上Region迁移工作。

    4.HRegionserver  

      维护HRegion,处理对这些HRegion的IO请求,向HDFS文件系统中读写数据;
      负责切分在运行过程中变得过大的HRegion。
      Client访问hbase上数据的过程并不需要master参与(寻址访问Zookeeper和HRegion Server,数据读写访问HRegione Server),HMaster仅仅维护这table和      Region的元数据信息,负载很低。

    5.HBase与Zookeeper

      

  • 相关阅读:
    springMVC 使用WebApplicationContext获取ApplicationContext对象
    idea for mac 最全快捷键整理
    装饰模式 应用场景和实现
    RabbitMQ基础知识详解
    jetty 介绍以及小例子
    业务对象的贫血模型与充血模型
    同构与异构
    Java设计模式之策略模式与状态模式
    C++之内部类(嵌套类)与外部类及友元
    深入理解Java中为什么内部类可以访问外部类的成员
  • 原文地址:https://www.cnblogs.com/juncaoit/p/6145045.html
Copyright © 2011-2022 走看看