1:hadoop体系架构中,hbase与其他组成部分的相互关系。
答:hbase利用hadoop mapreduce来处理hbase中的海量数据,实现高性能计算;
利用zookeeper作为协同服务,实现稳定服务和失败恢复;
使用hdfs作为高可靠的底层存储,利用廉价集群提供海量数据存储能力;
sqoop为hbase提供了高效、便捷的关系数据库数据导入功能;
pig和hive为hbase提供了高层语言支持。
2:请阐述hbase和传统关系数据库的区别。
答: 关系 hbase
数据类型:关系模型 数据模型
存储模式:基于行模式 基于列模式
数据索引:复杂的索引 唯一行键索引
数据维护:更新覆盖 更新新版本不覆盖
可伸缩性:横向不易和纵向有限 极其容易
数据操作:丰富的操作(表之间)基础操作(无表之间)
hbase不支持事务
3:分别解释hbase中行键、列键和时间戳的概念。
答:时间戳:默认系统设置;也可手动用户自行设定;区分应用和数据的不同版本
行键:唯一标识某一行的字节数组
列键:唯一标识某一列的字节数组
4:试述hbase各功能组件及其作用。
(1)库函数:链接到每个客户端;
(2)Master主服务器:主要负责表和Region的管理工作
(3)Region服务器:负责存储和维护分配给自己的Region,处理来自客户端的读写请求。
12:请阐述HBase的三层结构下,客户端是如何访问到数据的。
答:首先访问Zookeeper,获取-ROOT表的位置信息,然后访问-Root-表,获得.MATA.表的信息,接着访问.MATA.表,找到所需的Region具体位于哪个Region服务器,最后才会到该Region服务器读取数据。
17:在HBase中,每个Region服务器维护一个HLog,而不是为每个Region都单独维护一个HLog。请说明这种做法的优缺点。
答:优点: 多个Region对象的更新操作所发生的日志修改,只需要不断把日志记录追加到单个日志文件中,不需要同时打开、写入到多个日志文件中。
缺点:如果一个Region服务器发生故障,为了恢复其上次的Region对象,需要将Region服务器上的对象,需要将Region服务器上的HLog按照其所属的Region对象进行拆分,然后分发到其他Region服务器上执行恢复操作。