大数据技术原理与应用第四章课后作业
黎狸
1.试述在Hadoop体系架构中HBase与其他组成部分的相互关系。
  HBase利用Hadoop MapReduce来处理HBase中的海量数据,实现高性能计算;利用Zookeeper作为协同服务,实现稳定服务和失败恢复;使用HDFS作为高可靠的底层存储,利用廉价集提供海量数据存储能力; Sqoop为HBase的底层数据导入功能,Pig和Hive为HBase提供了高层语言支持,HBase是BigTable的开源实现。
2.请阐述HBase和BigTable的底层技术的对应关系。
项目
BigTable
HBase
文件存储系统
GFS
HDFS
海量数据处理
MapReduce
Hadoop MapReduce
协同服务管理
Chubby
Zookeeper
3.请阐述HBase和传统关系数据库的区别。
主要体现在6个方面。
主要方面
关系数据库
HBase
数据类型
关系模型 丰富的数据类型和存储方式
简单的数据模型 数据存储为未经解释的字符串
数据操作
丰富 插入 删除 更行 查询等 多表连接
不存在复杂的表与表之间的关系 仅插入 查询 删除 清空等
存储模式
基于行模式存储
基于列存储
数据索引
针对不同列构建复杂的多个索引,提高数据访问性能
索引是行键
数据维护
更行操作用最新的当前值替换记录中原来的旧值
更新操作不删除数据旧的版本
可伸缩性
难实现横向扩展,纵向扩展的空间有限
水平扩展灵活 轻易的通过在集中增加或者减少硬件数量来实现性能的伸缩
4.HBase有哪些类型的访问接口?
  HBase提供了Native Java API , HBase Shell , Thrift Gateway , REST GateWay , Pig , Hive 等访问接口。
5.请以实例说明HBase数据模型
Info
name
major
email
2017151826
Lili
Math
Lili@qq
行键
2017452636
Lilu
Math
Lilu@qq
2485623039
liulie
Math
liulie@qq liulie@163
单元格
6.分别解释HBase中行键、列键和时间戳的概念
1行键标识行。行键可以是任意字符串,行键保存为字节数组。
2列族。HBase的基本的访问控制单元,需在表创建时就定义好。
3时间戳。每个单元格都保存着同一份数据的多个版本,这些版本采用时间戳进行索引。
7.请举个实例来阐述HBase的概念视图和物理视图的不同。
数据概念试图
hbase应用案例
行键
时间戳
列族contents
列族anchor
comn.ww
t1
Anchornsi=CNN
comn.ww
t3
Contests.html=<html>…”
t4
Contests.html=<html>…”
数据物理视图
行键
时间戳
列族anchor
comn.ww
t1
Anchornsi=CNN
行键
时间戳
列族contents
comn.ww
t3
Contests.html=<html>…”
t4
Contests.html=<html>…”
8.试述HBase各功能组件及其作用。
1库函数:链接到每个客户端;
2一个Master主服务器:主服务器Master主要负责表和Region的管理工作;
3③许多个Region服务器:Region服务器是HBase中最核心的模块,负责存储和维护分配给自己的Region,并响应用户的读写请求
9.请阐述HBase的数据分区机制。
每个行区间构成一个分区,被称为“Region”,分发到不同的Region服务器上。
10.HBase中的分区是如何定位的?
通过构建的映射表的每个条目包含两项内容,一个是Regionde 标识符,另一个是Region服务器标识,这个条目就标识Region和Region服务器之间的对应关系,从而就可以知道某个Region被保存在哪个Region服务器中。
11.试述HBase的三层结构中各层次的名称和作用。
层次
名称
作用
第一层
Zookeeper文件
记录了-ROOT-表的位置信息
第二层
-ROOT-表
记录了.META.表的Region位置信息-ROOT-表只能有一个Region。通过-ROOT-表,就可以访问.META.表中的数据
第三层
.META.表
记录了用户数据表的Region位置信息,.META.表可以有多个Region,保存了HBase中所有请阐述在HBase三层结构下,客户端是如何访问到数据的。
12.请阐述HBase的三层结构下,客户端是如何访问到数据的。
首先访问Zookeeper,获取-ROOT表的位置信息,然后访问-Root-表,获得.MATA.表的信息,接着访问.MATA.表,到所需的Region具体位于哪个Region服务器,最后才会到该Region服务器读取数据。
13.试述HBase系统基本架构以及每个组成部分的作用。
(1)客户端
客户端包含访问HBase的接口,同时在缓存中维护着已经访问过的Region位置信息,用来加快后续数据访问过程
(2)Zookeeper服务器
Zookeeper可以帮助选举出一个Master作为集的总管,并保证在任何时刻总有唯一一个Master在运行,这就避免了Master的“单点失效”问题
(3)Master
主服务器Master主要负责表和Region的管理工作:管理用户对表的增加、删除、修改、查询等操作;实现不同Region服务器之间的负载均衡;在Region分裂或合并后,负责重新调整Region的分布;对发生故障失效的Region服务器上的Region进行迁移
(4)Region服务器
Region服务器是HBase中最核心的模块,负责维护分配给自己的Region,并响应用户的读写请求
14.请阐述Region服务器向HDFS文件系统中读写数据的基本原理。
Region服务器内部管理一系列Region对象和一个HLog文件,其中,HLog是磁盘上面的记录文件,它记录着所有的更新操作。每个Region对象又是由多个Store组成的,每个Store对象了表中的一个列族的存储。每个Store又包含了MemStore和若干个StoreFile,其中,MemStore是在内存中的缓存。
15.试述HStore的工作原理。
每个Store对应了表中的一个列族的存储。每个Store包括一个MenStore缓存和若干个StoreFile文件。MenStore是排序的内存缓冲区,当用户写入数据时,系统首先把数据放入MenStore缓存,当MemStore缓存满时,就会刷新到磁盘中的一个StoreFile文件中,当单个StoreFile文件大小超过一定阈值时,就会触发文件分裂操作。
16.试述HLog的工作原理。
HBase系统为每个Region服务器配置了一个HLog文件,它是一种预写式日志(Write Ahead Log),用户更新数据必须首先写入日志后,才能写入MemStore缓存,并且,直到MemStore缓存内容对应的日志已经写入磁盘,该缓存内容才能被刷写到磁盘。
17.在HBase中,每个Region服务器维护一个HLog,而不是为每个Region都单独维护一个HLog。请说明这种做法的优点和缺点。
优点: 多个Region对象的更新操作所发生的日志修改,只需要不断把日志记录追加到单个日志文件中,不需要同时打开、写入到多个日志文件中。
缺点:如果一个Region服务器发生故障,为了恢复其上次的Region对象,需要将Region服
务器上的对象,需要将Region服务器上的HLog按照其所属的Region对象进行拆分,然后分发到其他Region服务器上执行恢复操作。
18.当一台Region服务器意外终止时,Master如何发现这种意外终止情况?为了恢复这台发生意外的Region服务器上的Region,Master应该做出那些处理(包括如何使用HLog进行恢复)?
Zookeeper会实时监测每个Region服务器的状态,当某个Region服务器发生故障时,Zookeeper会通知Master。
Master首先会处理该故障Region服务器上面遗留的HLog文件,这个遗留的HLog文件中包含了来自多个Region对象的日志记录。
系统会根据每条日志记录所属的Region对象对HLog数据进行拆分,分别放到相应Region对象的目录下,然后,再将失效的Region重新分配到可用的Region服务器中,并把与该Region对象相关的HLog日志记录也发送给相应的Region服务器。
Region服务器领取到分配给自己的Region对象以及与之相关的HLog日志记录以后,会重新
做一遍日志记录中的各种操作,把日志记录中的数据写入到MemStore缓存中,然后,刷新到磁盘的StoreFile文件中,完成数据恢复。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。