`

7、Hbase基本框架

 
阅读更多
   HBase是一个构建在HDFS上的分布式列存储系统;
   HBase是Apache Hadoop生态系统中的重要一员,主要用于海量结构化数据存储;
   从逻辑上讲, HBase将数据按照表、行和列进行存储。


Hbase与HDFS对比:
   两者都具有良好的容错性和扩展性,都可以扩展到成百上千个节点;
   HDFS适合批处理场景:
   不支持数据随机查找
   不适合增量数据处理
   不支持数据更新

Hbase表的特点:
  大:一个表可以有数十亿行,上百万列;
  无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一张表中不同的行可以有截然不同的列;
  面向列:面向列(族)的存储和权限控制,列(族)独立检索;
  稀疏:对于空( null)的列,并不占用存储空间,表可以设计的非常稀疏;
  数据多版本:每个单元中的数据可以有多个版本,默认情况下版本号自动分配,是单元格插入时的时间戳;
  数据类型单一: Hbase中的数据都是字符串,没有类型。

行存储与列存储:


HBase是基于Google BigTable模型开发的,典型的key/value系统;






Hbase支持的操作,所有操作均是基于rowkey的;
   支持CRUD( Create、 Read、 Update和Delete)和Scan;
   单行操作:
   Put
   Get
   Scan
   多行操作:
   Scan
   MultiPut
   没有内置join操作,可使用MapReduce解决。

Hbase物理模型:
每个column family存储在HDFS上的一个单独文件中;
Key 和 Version number在每个 column family中均由一份;
空值不会被保存。
HBase 为每个值维护了多级索引,即:
<rowkey, column family, columnname, timestamp>


Region是HBase中分布式存储和负载均衡的最小单元。不同Region分布到不同RegionServer上;


Region虽然是分布式存储的最小单元,但并不是存储的最小单元。Region由一个或者多个Store组成,每个store保存一个columns family;每个Strore又由一个memStore和0至多个StoreFile组成;memStore存储在内存中, StoreFile存储在HDFS上。



HBase架构:


Client
  包含访问HBase的接口,并维护cache来加快对HBase的访问
Zookeeper 
  保证任何时候,集群中只有一个master
  存贮所有Region的寻址入口
  实时监控Region server的上线和下线信息。并实时通知给Master
  存储HBase的schema和table元数据
Master
  为Region server分配region
  负责Region server的负载均衡
  发现失效的Region server并重新分配其上的region
  管理用户对table的增删改查操作
Region Server
  Region server维护region,处理对这些region的IO请求
  Region server负责切分在运行过程中变得过大的region


HBase容错性:
Master容错: Zookeeper重新选择一个新的Master
  无Master过程中,数据读取仍照常进行;
  无master过程中, region切分、负载均衡等无法进行;
RegionServer容错:定时向Zookeeper汇报心跳,如果一旦时间内未出现心跳
  Master将该RegionServer上的Region重新分配到其他RegionServer上;
  失效服务器上“预写”日志由主服务器进行分割并派送给新的
RegionServer
  Zookeeper容错: Zookeeper是一个可靠地服务
  一般配置3或5个Zookeeper实例。

Region定位:

.ROOT-
  表包含.META.表所在的region列表,该表只会有一个Region;
  Zookeeper中记录了 -ROOT-表的location。
.META.
  表包含所有的用户空间region列表,以及RegionServer的服务器地址。
  • 大小: 113.2 KB
  • 大小: 283.2 KB
  • 大小: 51.4 KB
  • 大小: 189.3 KB
  • 大小: 118.2 KB
  • 大小: 272 KB
  • 大小: 102.9 KB
  • 大小: 64.7 KB
  • 大小: 35.8 KB
  • 大小: 170.4 KB
  • 大小: 160.3 KB
  • 大小: 59 KB
分享到:
评论

相关推荐

    HBASE技术架构及应用介绍.pdf

    Region是HBase的基本数据分布单元,随着数据量的增长,Region会按大小进行分裂,以保持单个Region的大小在可控范围内,提高数据检索效率。 HBase的基本架构包括Master服务器和RegionServer。Master负责全局表和...

    hbase用于查询客户端工具

    7. **HBase MapReduce**:MapReduce是Hadoop处理大数据的主要工具,HBase与MapReduce结合可以进行批量数据处理和分析。通过编写MapReduce作业,可以对HBase表进行大规模的数据导入和导出,或者执行复杂的数据分析...

    HBase学习利器:HBase实战

    - **第7章:构建实际应用**:通过一系列具体的案例研究,展示如何使用HBase构建复杂的应用程序,涵盖了从需求分析到系统设计、实现再到测试和部署的全过程。 #### 三、HBase核心技术详解 **1. 数据存储模型**:...

    Hbase权威指南(HBase: The Definitive Guide)

    - **高度集成**:HBase与Hadoop生态系统紧密结合,充分利用Hadoop提供的资源管理和计算框架。 - **MapReduce集成**:HBase支持MapReduce任务直接对存储在HBase中的数据进行处理,这大大简化了数据处理流程,提高了...

    Hadoop2.7.1+Hbase1.2.1集群环境搭建(7)hbase 性能优化

    7. **HBase运维参考**:在提供的“hbase运维参考手册(项目实战).docx”文档中,详细介绍了HBase的日常维护、故障排查和性能优化方法,包括但不限于日志分析、监控指标解读、常见问题解决等,对于实际运维工作具有很...

    hbase jar包.zip

    在Java开发领域,Spring框架的广泛使用与HBase这样的大数据存储系统的结合日益紧密。"hbase jar包.zip" 提供了整合Spring与HBase所需的关键库文件,使得开发者能够高效地利用Spring进行HBase的操作。接下来,我们将...

    hbase数据可视化系统

    3. 查询功能实现:根据RowKey查询数据是HBase的基本操作,通过输入RowKey,后台执行get操作获取对应行数据,并展示在页面上。 4. 表管理:支持HBase的建表和删除操作,这需要调用HBase的Admin API,完成表的创建、...

    HBase企业应用开发实战-高清

    接下来,书中深入探讨了HBase的框架设计,包括Region Server的职责、Zookeeper的角色、Master节点的管理功能以及HDFS如何为HBase提供底层存储支持。理解这些组件的工作机制,对于优化系统性能、处理故障和保证服务高...

    eclipse链接hbase所需jar包,hbase版本1.2.6,Hadoop版本2.7.1

    1. **HBase Core**: 这是HBase的核心库,包含了HBase的所有基本功能,如表管理、行键、列族等。文件名可能为`hbase-1.2.6.jar`。 2. **Hadoop Common**: 提供Hadoop的通用工具和库,包括网络通信、文件系统接口等。...

    hadoop hbase 全jar包

    Hadoop是一个开源框架,主要用于处理和存储大量数据,而HBase是建立在Hadoop之上的非关系型数据库,提供高可靠性、高性能、可伸缩的数据存储。 HBase是一个基于列族的分布式数据库,设计灵感来源于Google的Bigtable...

    spring与hbase整合demo

    总的来说,"spring与hbase整合demo"涉及的关键知识点包括:Spring框架的配置和依赖注入,HBase的基本操作(如表管理、数据访问),以及如何利用Spring的模板模式来简化NoSQL数据库的操作。通过学习和实践这个demo,...

    hbase

    2. **区域服务器(RegionServer)**:每个区域服务器负责管理多个HBase表的区域,区域是HBase存储数据的基本单元。区域服务器执行所有的用户数据读写操作,并将这些操作持久化到HDFS。 3. **表(Table)**:HBase表...

    hbase-0.94.27.tar.gz

    9. **HBase Shell**:HBase自带了一个命令行工具,用户可以通过Shell执行基本的CRUD操作、管理表和区域,以及执行其他管理任务。 10. **与其他Hadoop组件的集成**:HBase可以与Hadoop的MapReduce框架配合,进行批量...

    spring操作hbase demo

    在IT行业中,Spring框架是Java领域最常用的轻量级开源框架之一,而HBase则是一个分布式、基于列族的NoSQL数据库,适用于处理大规模数据。本教程将详细讲解如何使用Spring来操作HBase,这对于大数据处理和分布式系统...

    Hbase与zookeeper文档

    2. **MapReduce**:HBase使用Hadoop的MapReduce框架进行批量数据处理和分析,处理HBase中的大规模数据。 3. **Zookeeper**:HBase依赖Zookeeper作为协调服务,用于管理集群状态、选举主节点(HMaster)以及维护元...

    Hadoop3.1.1集成hbase2.1.1

    Hadoop和HBase都是开源的分布式大数据处理框架,Hadoop主要用于大数据的存储和处理,而HBase是一个构建在Hadoop之上的分布式、可扩展、非关系型的NoSQL数据库。Hadoop和HBase的集成允许HBase使用Hadoop的文件系统...

    大数据HBASE考题材料

    8. **HBase框架中的概念** - HDFS:HBase依赖于HDFS来存储其底层数据。 - Zookeeper:用于集群协调和服务发现等关键功能。 #### 填空题解析 1. **HBase的查询方式** - 单一rowkey完全匹配查询:通过指定具体...

Global site tag (gtag.js) - Google Analytics