hbase应用场景、原理与基本架构

上传人:小** 文档编号:89043836 上传时间:2019-05-16 格式:PDF 页数:40 大小:2.30MB
返回 下载 相关 举报
hbase应用场景、原理与基本架构_第1页
第1页 / 共40页
hbase应用场景、原理与基本架构_第2页
第2页 / 共40页
hbase应用场景、原理与基本架构_第3页
第3页 / 共40页
hbase应用场景、原理与基本架构_第4页
第4页 / 共40页
hbase应用场景、原理与基本架构_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《hbase应用场景、原理与基本架构》由会员分享,可在线阅读,更多相关《hbase应用场景、原理与基本架构(40页珍藏版)》请在金锄头文库上搜索。

1、Open Passion Value HBase应用场景、原理与基本 架构 讲师:董西成讲师:董西成 博客:博客:dongxicheng.org 2 目录目录 1. HBase概述 2. HBase物理模型 3. HBase数据模型 4. HBase基本架构 5. HBase应用举例 6. 总结 3 HBase概述概述 HBase是一个构建在是一个构建在HDFS上的分布式列存上的分布式列存 储系统;储系统; HBase是是Apache Hadoop生态系统中的重要生态系统中的重要 一员,主要用于海量结构化数据存储;一员,主要用于海量结构化数据存储; 从逻辑上讲,从逻辑上讲,HBase将数据按照

2、表、行和列将数据按照表、行和列 进行存储。进行存储。 4 Hbase是是Hadoop生态系统的一个组成部分生态系统的一个组成部分 HBase 构建在构建在HDFS之上之上 Hbase内部管理的内部管理的 文件全部存储在文件全部存储在 HDFS中中 5 Hbase与与HDFS对比对比 两者都具有良好的容错性和扩展性,都可以两者都具有良好的容错性和扩展性,都可以 扩展到成百上千个节点;扩展到成百上千个节点; HDFS适合批处理场景适合批处理场景 不支持数据随机查找不支持数据随机查找 不适合增量数据处理不适合增量数据处理 不支持数据更新不支持数据更新 6 Hbase表的特点表的特点 大大:一个表可以

3、有数十亿行,上百万列;:一个表可以有数十亿行,上百万列; 无模式无模式:每行都有一个可排序的主键和任意多的列,列可以:每行都有一个可排序的主键和任意多的列,列可以 根据需要动态的增加,同一张表中不同的行可以有截然不同的根据需要动态的增加,同一张表中不同的行可以有截然不同的 列;列; 面向列面向列:面向列(族)的存储和权限控制,列(族)独立检:面向列(族)的存储和权限控制,列(族)独立检 索;索; 稀疏稀疏:对于空(:对于空(null)的列,并不占用存储空间,表可以设计)的列,并不占用存储空间,表可以设计 的非常稀疏;的非常稀疏; 数据多版本数据多版本:每个单元中的数据可以有多个版本,默认情况:

4、每个单元中的数据可以有多个版本,默认情况 下版本号自动分配,是单元格插入时的时间戳;下版本号自动分配,是单元格插入时的时间戳; 数据类型单一数据类型单一:Hbase中的数据都是字符串,没有类型。中的数据都是字符串,没有类型。 7 行存储与列存储行存储与列存储 数据是按行存储的数据是按行存储的 没有索引的查询使用大量没有索引的查询使用大量I/O 建立索引和物化视图需要花费大量时间和资源建立索引和物化视图需要花费大量时间和资源 面向查询的需求,数据库必须被大量膨胀才能满面向查询的需求,数据库必须被大量膨胀才能满 足性能要求足性能要求 数据是按列存储数据是按列存储-每一列单独存放每一列单独存放 数据

5、即是索引数据即是索引 指访问查询涉及的列指访问查询涉及的列-大量降低系统大量降低系统I/O 每一列由一个线索来处理每一列由一个线索来处理-查询的并发处理查询的并发处理 数据类型一致,数据特征相似数据类型一致,数据特征相似-高效压缩高效压缩 传统行式数据库 列式数据库 8 目录目录 1. HBase概述 2. HBase数据模型 3. HBase物理模型 4. HBase基本架构 5. HBase应用举例 6. 总结 9 Hbase数据模型数据模型 HBase是基于是基于Google BigTable模型开发的,模型开发的, 典型的典型的key/value系统;系统; Row key? ? Co

6、lumn Family? ? value TimeStamp 10 Hbase逻辑视图逻辑视图 11 Rowkey与与Column Family 每一行与一个每一行与一个 Rowkey 每条记录被划分到若干个每条记录被划分到若干个 Column Family中中 每个每个column family 由一个或者多个由一个或者多个 Column 组成组成 12 Hbase基本概念基本概念 Row Key Byte array 表中每条记录的“主键” 方便快速查找 Column Family 拥有一个名称(string) 包含一个或者多个相关列 Column 属于某一个column family 包

7、含在某一列中 familyName:columnName 12 Row key Time Stamp Column “content s:” Column “anchor:” “com.apac he.ww w” t12 “ ” t11 “ ” t10 “anchor:apache .com” “APACH E” “n.w ww” t15 “anchor:cnnsi.co m” “CNN” t13 “anchor:my.look. ca” “CNN.co m” t6 “ ” t5 “ ” t3 “ ” 名称为“名称为“Contents”的的column family 名称为“名称为“ancho

8、r”的的column family 名称为“名称为“的列”的列” 13 Hbase基本概念基本概念 Version Number 每个rowkey唯一 默认值 系统时间戳 类型为Long Value (Cell) Byte array 13 Row key Time Stamp Column “content s:” Column “anchor:” “com.apac he.ww w” t12 “ ” t11 “ ” t10 “anchor:apache .com” “APACH E” “n.w ww” t15 “anchor:cnnsi.co m” “CNN” t13 “anchor:my

9、.look. ca” “CNN.co m” t6 “ ” t5 “ ” t3 “ ” 每一行有一个版本号每一行有一个版本号 value 14 Hbase数据模型数据模型 HBase schema可以有多个可以有多个 Table 每个表可由多个每个表可由多个Column Family组成组成 HBase 可以有可以有 Dynamic Column 列名称是编码在cell中的 不同的cell可以拥有不同的列 “Roles” column family has different columns in different cells 15 Hbase数据模型数据模型 version number 可

10、由用户提供可由用户提供 无需以递增的顺序插入 每一行的rowkey必须是唯一的 Table 可能非常稀疏可能非常稀疏 很多 cell 可以是空的 Row Key是主键是主键 16 Hbase支持的操作支持的操作 所有操作均是基于rowkey的; 支持CRUD(Create、Read、Update和Delete)和 Scan; 单行操作 Put Get Scan 多行操作 Scan MultiPut 没有内置join操作,可使用MapReduce解决。 17 目录目录 1. HBase概述 2. HBase数据模型 3. HBase物理模型 4. HBase基本架构 5. HBase应用举例 6

11、. 总结 Hbase物理模型物理模型 每个每个column family存储在存储在HDFS上的一个单独文件中;上的一个单独文件中; Key 和和 Version number在每个在每个 column family中均由一份;中均由一份; 空值不会被保存。空值不会被保存。 18 HBase 为每个值维护了多级为每个值维护了多级 索引,即:索引,即: 一个实例一个实例 物理存储物理存储 1、Table中的所有行都按照中的所有行都按照row key的字典序排列;的字典序排列; 2、Table 在行的方向上分割为多个在行的方向上分割为多个Region; 物理存储物理存储 3、Region按大小分割

12、的,每个表开始只有一个按大小分割的,每个表开始只有一个region,随,随 着数据增多,着数据增多,region不断增大,当增大到一个阀值的时候,不断增大,当增大到一个阀值的时候, region就会等分会两个新的就会等分会两个新的region,之后会有越来越多的,之后会有越来越多的 region; 物理存储物理存储 4 、Region是是HBase中分布式存储和负载均衡的最小单元。中分布式存储和负载均衡的最小单元。 不同不同Region分布到不同分布到不同RegionServer上;上; 物理存储物理存储 5 、Region虽然是分布式存储分布式存储的最小单元,但并不是存储存储 的最小单元。

13、Region由一个或者多个Store组成,每个store保存一个 columns family; 每个Strore又由一个memStore和0至多个StoreFile组成; memStore存储在内存中,StoreFile存储在HDFS上。 24 目录目录 1. HBase概述 2. HBase数据模型 3. HBase物理模型 4. HBase基本架构 5. HBase应用举例 6. 总结 HBase架构架构 Hbase基本组件基本组件 Client 包含访问HBase的接口,并维护cache来加快对HBase的访问 Zookeeper 保证任何时候,集群中只有一个master 存贮所有Re

14、gion的寻址入口 实时监控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 Zookeeper作用作用 HBase 依赖依赖ZooKeeper 默认情

15、况下,默认情况下,HBase 管管 理理ZooKeeper 实例实例 比如, 启动或者停止 ZooKeeper Master与与RegionServers 启动时会向启动时会向ZooKeeper注注 册册 Zookeeper的引入使得的引入使得 Master不再是单点故障不再是单点故障 Write-Ahead-Log(WAL) HBase容错性容错性 Master容错:容错:Zookeeper重新选择一个新的重新选择一个新的Master 无Master过程中,数据读取仍照常进行; 无master过程中,region切分、负载均衡等无法进行; RegionServer容错:定时向容错:定时向Zo

16、okeeper汇报心跳,如果一旦时汇报心跳,如果一旦时 间内未出现心跳间内未出现心跳 Master将该RegionServer上的Region重新分配到其他RegionServer上; 失效服务器上“预写”日志由主服务器进行分割并派送给新的 RegionServer Zookeeper容错:容错:Zookeeper是一个可靠地服务是一个可靠地服务 一般配置3或5个Zookeeper实例。 Region定位定位 寻找寻找RegionServer ZooKeeper -ROOT-(单Region) .META. 用户表 -ROOT-表与表与.META.表表 -ROOT- 表包含.META.表所在的region列表,该表只会有一 个Region; Zookee

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号