云计算系列教程9[课件材料].ppt

上传人:rrsccc 文档编号:11181026 上传时间:2021-07-10 格式:PPT 页数:33 大小:2.21MB
返回 下载 相关 举报
云计算系列教程9[课件材料].ppt_第1页
第1页 / 共33页
云计算系列教程9[课件材料].ppt_第2页
第2页 / 共33页
云计算系列教程9[课件材料].ppt_第3页
第3页 / 共33页
云计算系列教程9[课件材料].ppt_第4页
第4页 / 共33页
云计算系列教程9[课件材料].ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《云计算系列教程9[课件材料].ppt》由会员分享,可在线阅读,更多相关《云计算系列教程9[课件材料].ppt(33页珍藏版)》请在三一文库上搜索。

1、HBASE,1,专业课,内容提要,为什么需要HBase HTable的逻辑组织 HBase的运行机制 HBase与 HDFS HBase的对外接口,2,专业课,引入HBASE的原因,数据库系统已无法适应大型分布式数据存储的需要 改良的关系数据库(副本、分区等)难于安装与维护 关系模型对数据的操作使数据的存贮变得复杂,3,专业课,引入HBASE的原因,HBASE从设计理念上就为可扩展做好了充分准备 空间的扩展只需要加入存储结点 使用表的概念,但不同于关系数据库,不支持SQL 实质上是一张极大的、非常稀疏的,存储在分布式文件系统上的表,4,专业课,HBase历史,2006年底由PowerSet 的

2、Chad Walters和Jim Kellerman 发起 2008年成为Apache Hadoop的一个子项目 现已作为产品被使用 WorldLingo S OpenPlaces Yahoo Adobe,5,专业课,HBASE用例WebTable,存储抓取网页和相关信息 每个页面对应一行,是个有百万行的大表 要基于此表进行分析与解析并由搜索引擎对关键字进行索引 表需要并发地被众多网页抓取程序随机地访问以及更新数据 表内容也要作为网页实时缓存被大量用户随机访问,6,专业课,逻辑视图,7,专业课,数据模型行,行键,列,列,8,专业课,数据模型行,每行数据有一可排序的关键字和任意列项 字符串、整数

3、、二进制串甚至与串行化的结构都可以作为行键 表按照行键的“逐字节排序”顺序对行进行有序化处理 表内数据非常稀疏,不同的行的列的数完全目可以大不相同,9,专业课,数据模型行,可以只对一行上“锁” 对行的写操作是始终是“原子”的,10,专业课,数据模型列,列必须用族(family)来定义 任意一列有如下形式 “族:标签” 其中,族和标签都可为任意形式的串 物理上将同“族”数据存储在一起 数据可通过时间戳区分版本,11,专业课,数据模型列,族,标签,12,专业课,物理视图,13,专业课,HTable小结,14,专业课,系统总体结构,15,专业课,数据存储实体区域,表按照“水平”的方式划分成一个或多个

4、“区域”(region) 每个区域都包含一个随机id,区域内的行也是按行键有序的 最初每张表包含一个区域,当表增大超过阈值后,这个区域被自动分割成两个相同大小的区域 区域以分布式的方式分布在集群内,16,专业课,区域的管理,区域服务器(Region Server) 为区域的访问提供服务,直接为用户提供服务 负责维护区域的分割 负责数据存持久化 主服务器(Master Server) 管理区域服务器 指派区域服务器对服务特定区域 恢复失效的区域服务器,17,专业课,特殊目录数据,元数据(META) 全部用户区域的属性数据都存在元数据表中 包括区域中数据起止行信息、区域“在线”状态等 保存区域服务

5、器地址 元数据表也可包含多个区域,区域属性数据存储在“根”结点上,18,专业课,特殊目录数据,“根”表(ROOT) 只存包含一个区域 将元数据中的区域映射到区域服务器 存储元数据服务器位置以及映射了哪些元数据区域,19,专业课,区域服务器(Region Server)职能,负责处理用户的读写请求 向主服务器(Master Server)上报自己的状态,并获取自己需要服务的区域 为提高效率,消息通过捎带(pigback)方式通过“心跳”分组进行传递,20,专业课,区域服务器“写”,写数据首先写入“预写”日志 对于一个区域服务器而言,对其提供服务的所有区域的“写”操作日志都存储在同一个日志中 数据

6、并非直接写文件系统,而是先缓存,缓存到一定数量再批量写入 写入完成后在日志中做标记,21,专业课,区域服务器“读”,区域服务器现在内存的缓存中查找,如果命中请求,则直接服务 如果存在多个版本,则返回顺序按照从最新到最老,22,专业课,区域服务器合并,如果映射文件(Map File)数量超过阈值,区域服务器会进行一次合并(Compaction) 合并操作也周期性进行 合并可与区域服务器响应用户的读写请求并发进行 如果读写请求与合并区域相关,读写操作先挂起,直到合并操作完成,23,专业课,区域服务器分割,当区域文件大过阈值后,区域文件会按照行的方式对半进行分割(Split)操作 分割也作为一种请求

7、被区域服务器处理 被分割区域先离线 区域服务器在元信息表中生成子表元信息 主服务器在得知分割操作进行后,将子表分配给新的区域服务器进行服务 被分割区域通过垃圾回收机制回收,24,专业课,区域服务器分割,如果主服务器没能正确收到分割消息,主服务器可通过定期检查MATA数据发现分割操作 开始分割操作后,被分割区域离线,此时客户端能检测到并在分割后的区域上线后重发访问请求,25,专业课,失效恢复,由于检测没有心跳,主服务器能够探知区域服务器的失效 主服务器将失效服务器所提供服务的区域重新分配给其它区域服务器 原失效区域服务器的“预写”日志由主服务器进行分割并派送给新的区域服务器,26,专业课,客户端

8、,连接到ZooKeeper集群获取根区域数据和元数据的位置 在元数据中查找需要访问行所在的区域并定位提供该区域服务的区域服务器 直接与区域服务器交互以获取数据 根区域数据、元数据以及用户区域信息都被客户端缓存以备下次访问使用,27,专业课,系统总体结构,28,专业课,HBase安装,需要ZooKeeper支持 本身带zookeeper.jar包 步骤 解压,并添加支撑的.jar包到用户CLASS_PATH 修改conf下 hbase-env.sh, regionservers Hbase-site.xml 启动Hbase: bin/start-hbase.sh,29,专业课,HBase She

9、ll,启动 bin/hbase shell 主要命令 create 创建表 describe 描述表 enable/disable 表激活/取消 drop 删除表 get/put 表读写,30,专业课,HBase API,HBaseConfiguration addResource() HTable put() get() ResultScanner next(),31,专业课,HBase与HDFS,如果使用HDFS需要配置RegionServer,定位存储位置为HDFS服务 /conf/hbase-site.xml 定义hbase.rootdir值,指向HDFS服务,如:hdfs:/hdfs_server:port/hbase_root,32,专业课,HBase与其它文件系统,HBase可以使用其它分布式文件系统 mount至挂载点,如/mnt/mydfs 定义hbase.rootdir值,指向挂载点,如 file:/mnt/mydfs/hbase_root,33,专业课,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1