HBase在分布式部署上采用master/slave的方式,主要包含3大功能组件,分别是:RegionServer、MasterServer和ClientLibrary
在分布式存储上使用的是Hadoop的HDFS子框架
分布式计算功能基于Hadoop的MapReduce实现
1.Region
Region作为HBase的分布式存储单元包含了一组Row,这些Row的key值在索引排序上是连续的,因此在分布式存储的时候,RowKey的定义非常重要,要确保具有相同性质的数据是存储在同一台机器上,最好的方法就是为他们指定相似的RowKey值
2.RegionServer
在HBase中,RegionServer充当Slave角色,负责与Client进行交互,进行相关的读写操作。
3.MasterServer
MasterServer充当master主要有以下职责:
(1).负责将Region分配给RegionServer
(2).动态加载或卸载RegionServer
(3).对RegionServer实现负载均衡
(4).管理Schema定义
系统中可能会存在多个master机器,但是这些机器并不会同时运行,而是处于一个竞争的状态,当正在运行的master机器出现故障的时候,系统会转移到其他master来接管。
在HBase部署中,Client是不与Master进行交互的,所有的读写操作都是通过RegionServer来完成,master在其中起到了负载均衡的作用,当某一个RegionServer加载量较大时,master可以将相应的Region进行重新的切片部署,将压力分散到多台机器上。
4.ClientLibrary
客户端类库,与RegionServer进行通信,并且还会缓存RegionServer和它所存储的Region地址,加快下次访问效率。
另外,当master机器地址发生变动时,client通过ZooKeeper来查找定位新的master地址,ZooKeeper存储了所有机器的地址信息,客户端需要有ZooKeeper的连接环境(将habse-site.xml加入到客户端classpath中)
5.CatelogTable
HBase预定义了两张表格用于保存数据的分布式存储地址,分别是 -ROOT- 和 .META.
-ROOT-存储了.META.数据的访问地址
.META.存储了用户Region的访问地址
这样ClientLibrary可通过-ROOT-遍历到任何Region的地址
http://blog.csdn.net/javaman_chen/article/details/7197759
相关推荐
hbase的体系架构安装,hbase的三种安装模式,及一些操作命令
Hbase底层剖析结构,Hbase底层剖析结构,Hbase底层剖析结构
HBase是一个分布式、可扩展、列式存储的非关系型数据库(NoSQL),它基于Google的BigTable模型构建,并使用Java语言开发,运行在Hadoop的HDFS文件系统之上。HBase提供了高可靠性和高性能的数据存储能力,特别适合于...
【HBase 表结构设计】 HBase 是一种分布式非关系型数据库,它是基于谷歌的 Bigtable 论文设计的,适用于大数据存储。HBase 的核心特性包括列式存储、分布式、可扩展性和强一致性。在设计 HBase 表结构时,我们需要...
这里用图的方式详细分析了hbase的表结构。包括三张表等等
HBase是建立在Hadoop文件系统(HDFS)之上,为处理大规模数据提供了一个高效的数据存储解决方案。而Spring Data Hadoop是Spring框架的一部分,它提供了与Hadoop生态系统集成的工具,包括对HBase的操作支持。本篇文章...
HBase数据结构设计知识梳理: 1. HBase概述 HBase是Apache Software Foundation旗下的一个开源的非关系型分布式数据库(NoSQL),它是Google Bigtable的开源实现,基于Hadoop文件系统(HDFS)构建。HBase的设计目标...
/hbase/archive (1) 进行snapshot或者升级的时候使用到的归档目录。compaction删除hfile的时 候,也会把旧的hfile归档到这里等。 /hbase/corrupt (2) splitlog的corrupt目录,以及corrupt hfile的目录。
hbase表结构设计,新建表,查询表语句,删除表数据,删除表的例子。
HBase是一种分布式、基于列族的NoSQL数据库,它运行在Hadoop之上,适用于处理海量半结构化数据。HBase的表结构设计和客户端依赖是理解其工作原理的关键部分。 一、HBase的表结构 1. 表:在HBase中,数据以表格的...
在Java编程环境中,操作HBase并将其数据写入HDFS(Hadoop Distributed File System)是一项常见的任务,特别是在大数据处理和分析的场景下。本篇将详细介绍如何使用Java API实现这一功能,以及涉及到的关键技术和...
Hadoop版本至少需要2.7.1或更高,这是HBase运行的基础,因为HBase构建在Hadoop的HDFS之上,用于存储数据。HBase版本至少为1.1.2,它提供了一套强大的数据管理特性。JDK版本至少1.7,这是运行HBase和相关Java程序的...
**HBase 知识体系概览** HBase 是一个分布式、高性能、基于列式存储的 NoSQL 数据库,它是 Apache Hadoop 生态系统的一部分,专为处理海量结构化半结构化数据而设计。HBase 提供了实时读写能力,支持大数据量的存储...
Hbase思维导图
Apache HBase™是Hadoop数据库,是一个分布式,可扩展的大数据存储。 当您需要对大数据进行... 正如Bigtable利用Google文件系统提供的分布式数据存储一样,Apache HBase在Hadoop和HDFS之上提供类似Bigtable的功能。
就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非...
HBase则在HDFS之上提供了一个数据模型,使得非结构化和半结构化数据可以被高效地存储和查询。 HBase的体系架构主要包含以下组件: 1. **Master节点(HMaster)**:HMaster是HBase集群的管理节点,负责区域服务器的...
在Java中操作HBase数据库时,我们经常需要对大量数据进行高效的检索和处理。HBase提供了多种过滤器机制,其中PageFilter是一种非常实用的工具,它可以帮助我们在查询时限制返回的结果数量,从而优化性能和内存使用。...