第二章 认识HBase
一、单选题
1. HBase来源于哪篇博文?
A. The Google File System B. MapReduce C. BigTable D. Chubby
2. 下面对HBase的描述哪个不是正确的?
A. 不是开源的B. 是面向列的C. 是分布式的 D. 是一种NoSQL数据库
3. HBase依靠()存储底层数据?
A. HDFS B. Hadoop C. Memory D. MapReduce
4. HBase依赖()提供消息通信机制。
A. Zookeeper B. Chubby C. RPC D. Socket
5. HBase依赖()提供强大的计算能力。
A. Zookeeper B. Chubby C. RPC. D. MapReduce
6. Rowkey设计的原则,下列哪个选项的描述是不正确的?
A. 尽量保证越短越好B. 可以使用汉字C. 可以使用字符串D. 本身是无序的
7. HBase中的批量加载底层使用()实现。
A. MapReduce B. Hive C. Coprocessor D. Bloom Filter
8. 下哪些选项不正确描写叙述了HBase的特性?
A. 高可靠性B. 高性能C. 面向列D. 不可伸缩
9. 以下与HDFS类似的框架是?
A. NTFS B. FAT32 C. GFS D. EXT3
- HBase的技术借鉴了google的以下哪个技术?
A. MapReduce B. BigTable C. Chubby D. Google File System
11. Hbase 能实现删除表功能的服务是( )
A. HMaster B. HRegionServer C. Zookeeper D. BlockCache
12. 关于HBase中的列族说法错误的是( )。
A. HBase表中的每个列,都归属于某个列族。B. 列族必须在表使用前定义。
C. 列名都以列族作为前缀。D. 列族不支持动态扩展。
13. 下面哪个程序负责HDFS数据存储( )
A. NameNode B. Jobtracker C. Datanode D. SecondaryNameNode
二、多选题
1. 下面对HBase的描述正确的是?
a. 是面向列存储的 b. 是一种NoSQL数据库 c. 是开源的 d. 是分布式的
2. HBase主要由多个组件构成,分别是()
a. Client b. Zookeeper c. HMaster d. RegionServer
3. HBase有以下哪些特性
a. 可扩展性 b. 支持事务ACID特性 c. 稀疏性 d. 高可靠性 e. 容量巨大
4. HDFS中的名称节点NameNode的作用有:
a. 负责客户端的访问请求 b. 负责存储文件的元数据
c. 负责文件数据的读写 d. 分配全局数据的存储节点
5. 以下关于HDFS中SecondaryNameNode节点的说法正确的是:
a. SecondaryNameNode是NameNode的备份节点。
b. SecondaryNameNode的作用是降低NameNode的压力,定期对fsimage和editlog文件进行合并操作。
c. SecondaryNameNode负责将修改记录写入到editlog中。
d. SecondaryNameNode从NameNode中复制fsimage和editlog文件到本地进行合并,再将新的fsimage文件返回给NameNode,替代旧的fsimage
6. 关于HDFS中DataNode的作用,以下说法正确的是:
a. 响应NameNode的相关指令,比如写入数据时,NameNode会通知DataNode复制多个副本。
b. 为客户端提供数据块的读写服务。
c. 发送心跳信息给NameNode,上报各数据块的状态
d. DataNode负责对文件进行分块
7. HDFS集群NameNode节点有两个核心文件,FsImage和Editlog,以下描述正确的是:
a. FsImage用于维护文件系统树以及文件树中所有的文件和文件夹的元数据。
b. FsImage文件在NameNode启动时加载到内存当中,处于只读状态。
c. EditLog记录了所有针对文件的创建、删除、重命名等操作。
d. SecondaryNameNode定期合并fsimage文件和editlog文件。
8. HDFS数据分块的作用:
a. HDFS中数据块是文件存储处理的逻辑单元
b. HDFS的文件被分成块进行存储,数据块大小越大越好
c. 数据分块使得HDFS理论上能够存储无限容量的数据。文件大小不受单点存储容量的限制
d. 数据分块的机制适合数据备份,每个分块冗余的备份存储在多个DataNode上。
9. 关于HDFS中的容错机制,以下说法正确的是:
a. HDFS采用副本的机制,将数据块以多个副本的形式存在不同节点上。
b. HDFS集群中,当NameNode出错时,可用Secondary NameNode备份的fsimage恢复。
c. NameNode通过心跳检测DataNode的状态,定期维护集群中数据块的副本数。
d. HDFS存储数据块时使用总和校验码来保证数据的正确性。
10. HBase中HMaster的作用以下说法正确的是:
a. 管理用户对表的增、删、改、查操作。
b. 管理RegionServer的负载均衡,调整region的分布。
c. 处理RegionServer的故障转移。
d. 当Hmaster出现故障,不影响当前客户端对数据的访问。
11. 在HBase集群中,关于ZooKeeper的作用,以下说法正确的是:
a. HBase集群中有多个Master时,任一时刻只有一个master处于活跃状态。当活跃master发生故障时,,ZooKeeper在备用的Master中选举一个新的作为活跃节点
b. ZooKeeper维护元数据的总入口,并记录master节点的地址。
c. ZooKeeper监控整个Hbase集群,当RegionServer出现故障,则通知Master来进行故障恢复。
d. ZooKeeper可以是一个独立安装的集群,也可以使用HBase自带的Zookeeper服务。
三、判断题
1. HDFS中secondary NameNode的作用是集群中的备用节点。
2. HDFS采用数据分块的机制来保存大文件。
3. HDFS使用副本机制来进行数据的容错。
4. HBase的底层存储是GFS。
5. 安装HBase数据库先决条件是安装JDK及Hadoop
6. HDFS主要由3个组件构成,分别是NameNode 、SecondaryNode 、DataNode。
7. HDFS使用分片机制保证容错性.
8. HBase的RegionServer结点负责region的分配。
9. HDFS中,数据块大小越小越好,适合多副本的存储。
10. HBase中,RegionServer主要负责响应用户的请求,向HDFS中读写数据。
11. HBase集群中,数据存储在hmaster节点上 。
12. HBase安装过程中,分布式的模式、ZooKeeper的配置需要修改hbase-site.xml文件
13. 与传统的关系型数据库类似,HBase 也是以表的方式组织数据,并且HBase集群中有多个数据库。
14. 在HDFS集群中,客户端只与namenode相互通信。
15. 客户端给NameNode 发送读写请求时,NameNode 告知客户端每个数据块所在的DataNode 信息,然后客户端直接与ataNode 进行通信,减少NameNode 的系统开销。
16. HDFS中采取计算向数据靠拢的原则。
17. Hbase中的数据都是以字符串形式存储的,为空的列并不占用存储空间。
答案:
单选:CAAAD DADCB ADC
多选:ABCD ABCD ACDE ABD BD ABC ABCD ACD ABCD ABCD ABCD
判断:错对对错对对错错错对错对错错对对对
四、填空题
1. HBase基于Hadoop的___完成分布式存储,以及MapReduce完成分布式并行计算。
HDFS
2. HBase虚拟分布式模式须要__个节点?
1
3. HBase官方版本号不能够安装在__操作系统上?
Windows
4. HBase分布式模式最好须要__个节点?
3
5. Region是特殊形式的__
表
6. HBase是( )/( )结构数据库。
主从
7. HBase 开发语言为( )。
JAVA
8. 在HDFS中数据块的副本数默认为( )。
3
9. ( )是HBase集群中的主服务器,负责监控集群中的所有RegionServer。
HMaster
10. hdfs中的SecondaryNameNode的角色就是定期合并edits和( )文件。
fsimage
11. HBase属于( )类型的NoSQL数据库
列族
12. HBase的系统架构组件包括( )、Zookeeper服务器、 ( )服务器 、和( )服务器 。
客户端、HMaster、RegionServer
13. Hadoop框架中的核心设计为: HDFS和 ( ) 。
MapReduce
五、问答题
1. 什么是HBase数据库?
HBase是一个开源的、分布式的、版本化的非关系型数据库。
2. 简述HDFS原理(设计目标)是什么?
HDFS即Hadoop分布式文件系统(Hadoop Distributed File System),它的设计目标是把超大数据集存储到集群中的多台普通商用计算机上,并提供高可靠性和高吞吐量的服务。
3. 简述HDFS分块机制的好处
(1)文件可以任意大,不会受到单个节点的磁盘容量的限制,理论上讲,HDFS的存储容量是无限的。(2)简化文件子系统的设计。将系统的处理对象设置为块,可以简化存储管理,因为块大小固定,所以每个文件分成多少个块以及每个DateNode能存多少个块都很容易计算。同时系统中NameNode只负责管理文件的元数据,DataNode只负责数据存储,分工明确,提高系统的效率。(3)有利于提高系统的可用性,在HDFS通过数据备份来提供数据的容错能力和高可用性。
4. HBase与Hadoop的关系是怎样的?
HBase时参考了Google的BigTable建模的,而BigTable是基于GFS来完成数据的分布式存储的,所以HBase也是与HDFS有非常紧密关系的,它使用HDFS作为底层存储系统。虽然说HBase可以单独运行在本地文件系统上,但这不是HBase设计的初衷,HBase是在Hadoop这种分布式框架中提供持久化的数据存储与管理的工具。在使用HBase的分布式集群模式时,前提是必须有Hadoop系统。Hadoop系统为HBase提供给了分布式文件存储系统,同时也提供MapReduce组件直接访问HBase进行分布式计算。
5. 请描述HBase组件中zookeeper的主要功能。
ZooKeeper是串联HBase集群和client的关键。ZooKeeper在HBase中的负责协调的任务有:
(1)Master选举。(1分)(2)系统容错。(1分)(3)Region元数据管理。(1分)(4)Region状态管理。(1分)(5)存储HBase的表和表的元数据信息。(1分)
6. HBase组件中HMaster的主要功能
(1)管理用户对表的增、删、改、查操作。(1.5分)(2)管理RegionServer的负载均衡,调整Region的分布。(1.5分)(3)Region的分配和移除。(1.5分)(4)处理RegionServer的故障转移。(1.5分)
7. 简述 HBase 中 regionserver 的主要功能。
RegionServer主要负责响应用户的请求,即负责响应用户的访问请求,并向HDFS中读写数据,它是Hbase体系结构中最核心的模块。一般在分布式集群当中,RegionServer运行在DataNode服务器上,实现数据的本地性。
(1)客户端从zookeeper中获取数据表的元数据信息,接下来的操作都是与regionserver交互完成的。所以regionserver最主要的功能就是处理客户端的读写请求。
(2)另外在分布式集群中,数据表会进行水平分区,即一个regionserver只会对一部分分区进行管理,即每个regionserver只会会处理分配给它的region,包括这部分数据的写入,查询,缓存和故障恢复。
(3)regionserver接收到客户端的写数据操作后,会将数据缓存至HDFS中,HBase的数据都是以HDFS作为底层存储的。
(4)在HBase集群中,regionserver上的region会发生合并和分片操作,这些都是regionserver根据Hmaster的指令来完成的。
8. 简述HBase数据库特性?(4分)
HBase数据库是列族数据库的代表产品。其特点是容量巨大(1分)、稀疏性(1分)、扩展性(1分)和高可靠性(1分)
9. HDFS 的特点与使用场景?(4分)
适合存储超大文件(1分),适用于流式的数据访问(1分),支持简单的一致性模型(1分),计算向数据靠拢(1分)
10. HMaster是HBase集群中的主服务器,其负责的工作有哪些?
(1)管理用户对表的增、删、改、查操作。
(2)管理 RegionServer 的负载均衡,调整 region 的分布。
(3)Region 的分配和移除。
(4)处理 RegionServer 的故障转移。