- 浏览: 91086 次
文章分类
最新评论
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的服务器地址。
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的服务器地址。
发表评论
-
12、数据分析系统Hive/Pig
2015-03-28 00:22 550Hive(Facebook)构建在Hadoop ... -
11、hadoop--数据收集原理
2015-03-27 18:56 624常见的两种数据来源 分散的数据源: 机器产生的数据; ... -
10、zookeeper
2015-03-27 11:34 379zookeeper是一个针对大型分布式系统的可靠协调 ... -
9、HBase客户端程序开发
2015-03-27 10:48 1049开发接口实现方式: Native Java API 最常规 ... -
7、Yarn--MapReduce2.0
2015-03-26 14:09 9381、yarn介绍: MapReduce 2.0和YARN区别: ... -
6、HA+Federation 详解
2015-03-26 14:05 601now is nullnow is nullnow is nu ... -
5、hadoop多节点(HA + Federation)
2015-03-26 13:42 845一、准备 1、4台linux系统 2、检查联网 3、检查各 ... -
4、hadoop 多节点部署和测试(HA_HDFS)
2015-03-25 09:53 4063HA(High Available), 高可用性群集 ... -
3、hadoop 单节点 安装配置与测试
2015-03-24 12:39 706在hadoop/home中创建目录 itcast m ... -
2、hadoop 安装准备
2015-03-17 12:39 524准备工作:hadoop2.3 64 ... -
1、初相见 hadoop
2015-03-16 14:08 423_______了,把hadoop好好研 ... -
1、FastDFS
2015-03-14 21:52 0wwwwwwwwwwwwwwwwwwww http://blo ...
相关推荐
Region是HBase的基本数据分布单元,随着数据量的增长,Region会按大小进行分裂,以保持单个Region的大小在可控范围内,提高数据检索效率。 HBase的基本架构包括Master服务器和RegionServer。Master负责全局表和...
7. **HBase MapReduce**:MapReduce是Hadoop处理大数据的主要工具,HBase与MapReduce结合可以进行批量数据处理和分析。通过编写MapReduce作业,可以对HBase表进行大规模的数据导入和导出,或者执行复杂的数据分析...
- **第7章:构建实际应用**:通过一系列具体的案例研究,展示如何使用HBase构建复杂的应用程序,涵盖了从需求分析到系统设计、实现再到测试和部署的全过程。 #### 三、HBase核心技术详解 **1. 数据存储模型**:...
- **高度集成**:HBase与Hadoop生态系统紧密结合,充分利用Hadoop提供的资源管理和计算框架。 - **MapReduce集成**:HBase支持MapReduce任务直接对存储在HBase中的数据进行处理,这大大简化了数据处理流程,提高了...
7. **HBase运维参考**:在提供的“hbase运维参考手册(项目实战).docx”文档中,详细介绍了HBase的日常维护、故障排查和性能优化方法,包括但不限于日志分析、监控指标解读、常见问题解决等,对于实际运维工作具有很...
在Java开发领域,Spring框架的广泛使用与HBase这样的大数据存储系统的结合日益紧密。"hbase jar包.zip" 提供了整合Spring与HBase所需的关键库文件,使得开发者能够高效地利用Spring进行HBase的操作。接下来,我们将...
3. 查询功能实现:根据RowKey查询数据是HBase的基本操作,通过输入RowKey,后台执行get操作获取对应行数据,并展示在页面上。 4. 表管理:支持HBase的建表和删除操作,这需要调用HBase的Admin API,完成表的创建、...
接下来,书中深入探讨了HBase的框架设计,包括Region Server的职责、Zookeeper的角色、Master节点的管理功能以及HDFS如何为HBase提供底层存储支持。理解这些组件的工作机制,对于优化系统性能、处理故障和保证服务高...
1. **HBase Core**: 这是HBase的核心库,包含了HBase的所有基本功能,如表管理、行键、列族等。文件名可能为`hbase-1.2.6.jar`。 2. **Hadoop Common**: 提供Hadoop的通用工具和库,包括网络通信、文件系统接口等。...
Hadoop是一个开源框架,主要用于处理和存储大量数据,而HBase是建立在Hadoop之上的非关系型数据库,提供高可靠性、高性能、可伸缩的数据存储。 HBase是一个基于列族的分布式数据库,设计灵感来源于Google的Bigtable...
总的来说,"spring与hbase整合demo"涉及的关键知识点包括:Spring框架的配置和依赖注入,HBase的基本操作(如表管理、数据访问),以及如何利用Spring的模板模式来简化NoSQL数据库的操作。通过学习和实践这个demo,...
2. **区域服务器(RegionServer)**:每个区域服务器负责管理多个HBase表的区域,区域是HBase存储数据的基本单元。区域服务器执行所有的用户数据读写操作,并将这些操作持久化到HDFS。 3. **表(Table)**:HBase表...
9. **HBase Shell**:HBase自带了一个命令行工具,用户可以通过Shell执行基本的CRUD操作、管理表和区域,以及执行其他管理任务。 10. **与其他Hadoop组件的集成**:HBase可以与Hadoop的MapReduce框架配合,进行批量...
在IT行业中,Spring框架是Java领域最常用的轻量级开源框架之一,而HBase则是一个分布式、基于列族的NoSQL数据库,适用于处理大规模数据。本教程将详细讲解如何使用Spring来操作HBase,这对于大数据处理和分布式系统...
2. **MapReduce**:HBase使用Hadoop的MapReduce框架进行批量数据处理和分析,处理HBase中的大规模数据。 3. **Zookeeper**:HBase依赖Zookeeper作为协调服务,用于管理集群状态、选举主节点(HMaster)以及维护元...
Hadoop和HBase都是开源的分布式大数据处理框架,Hadoop主要用于大数据的存储和处理,而HBase是一个构建在Hadoop之上的分布式、可扩展、非关系型的NoSQL数据库。Hadoop和HBase的集成允许HBase使用Hadoop的文件系统...
8. **HBase框架中的概念** - HDFS:HBase依赖于HDFS来存储其底层数据。 - Zookeeper:用于集群协调和服务发现等关键功能。 #### 填空题解析 1. **HBase的查询方式** - 单一rowkey完全匹配查询:通过指定具体...