提交需求
*
*

*
*
*
立即提交
点击”立即提交”,表明我理解并同意 《美创科技隐私条款》

logo

    产品与服务
    解决方案
    技术支持
    合作发展
    关于美创

    申请试用
      浅析大数据组件HBase架构原理
      发布时间:2017-08-11 阅读次数: 424 次

      随着大数据概念及技术的不断推广,HBase作为大数据技术中的一个重要框架也渐渐被人熟知,本文将简单地介绍HBase这个大数据常见组件。

       

      HBase得名于Hadoop Database,是一个分布式存储系统,比较起传统的关系型数据库,例如SQL、ORACLE,HBase的优点在于,可以实现高性能的并发读写操作。同时,HBase不同于传统关系型数据库的面向行存储,HBase是面向列存储,列可以动态增加,列为空就不存储数据,能更好的节省存储空间。Hbase还会对数据进行透明切分,使得存储本身具有了水平伸缩性。正因为这些优点,Hadoop+Zookeeper+HBase很自然的成为现在大数据技术中一套较为流行且成熟的数据存储和计算框架。

       

      接下来,来了解一下HBase的基本架构和原理。

       

        

       

       

      如上图所示,HBase中所有的数据文件都存储在hadoop的hdfs文件系统中,主要包括上图中HFILEHLOG FILE两种文件类型HFile是Hadoop的二进制格式文件,实际上StoreFile就是对HFile做了轻量级包装,即StoreFile底层就是HFile,存储着HBASE中最基础的数据。HLog中记录了写入数据的归属信息,可以简单的理解为操作记录,可作为hbase恢复数据的依据。

       

      架构的上层是HRegion和HRegionServerHRegionServer内部管理了一系列HRegion对象,每个HRegion对应了HBase表中的一个 Region。在HBase的实际使用中,会根据数据特性对数据进行划分region的存储,以避免数据存储的热点问题。而每个HRegion由多个HStore组成,HStore存储是HBase存储的核心,其由两部分组成,一部分是MemStore,一部分是StoreFiles。MemStore是Sorted Memory Buffer,用户写入的数据首先会放入MemStore,当MemStore满了以后会Flush成一个StoreFile(底层实现是HFile), 当StoreFile文件数量增长到一定阈值,会触发Compact合并操作,将多个StoreFiles合并成一个StoreFile,形成最基础的数据存储文件。

       

      架构中还包括HMasterzookeeper,这里只做简单介绍,HMaster在功能上主要负责hbase表和Region的管理工作,包括表的增删改查,调整region的分布,进行新region的分配以及region的迁移等。Zookeeper负责存储HBase表的一些元信息HMaster的地址,客户端可以通过zookeeper来找到HMaster,同时HMaster也可以通过zookeeper来感知到各个HRegionServer的健康状态。

      免费试用
      服务热线

      马上咨询

      400-811-3777

      回到顶部