下面试题是摘自互联网的基础上自己加了选项说明解释便于自己以后看时方便节省时间
1. HBase来源于哪篇博文? C
A The Google File System
B MapReduce
C BigTable
D Chubby
2. 以下对HBase的描写叙述哪些是正确的? B、C、D
A 不是开源的
B 是面向列的
C 是分布式的
D 是一种NoSQL数据库
3. HBase依靠()存储底层数据 A
A HDFS
B Hadoop
C Memory
D MapReduce
4. HBase依赖()提供消息通信机制 A
A Zookeeper
B Chubby
C RPC
D Socket
5. HBase依赖()提供强大的计算能力 D
A Zookeeper
B Chubby
C RPC
D MapReduce
6. MapReduce与HBase的关系,哪些描写叙述是正确的? B、C
A 两者不可或缺。MapReduce是HBase能够正常执行的保证
B 两者不是强关联关系,没有MapReduce,HBase能够正常执行
C MapReduce能够直接訪问HBase
D 它们之间没有不论什么关系
7. 以下哪些选项正确描写叙述了HBase的特性? A、B、C、D
A 高可靠性
B 高性能
C 面向列
D可伸缩
8. 以下与Zookeeper类似的框架是?D
A Protobuf
B Java
C Kafka
(Kafka是一个高吞吐量分布式消息系统。linkedin开源的kafka。 Kafka就跟这个名字一样。设计很独特。首先。kafka的开发人员们觉得不须要在内存里缓存什么数据。操作系统的文件缓存已经足够完好和强大,仅仅要你不搞随机写,顺序读写的性能是很高效的。
kafka的数据仅仅会顺序append。数据的删除策略是累积到一定程度或者超过一定时间再删除。
Kafka还有一个独特的地方是将消费者信息保存在client而不是MQserver。这样server就不用记录消息的投递过程,每一个client都自己知道自己下一次应该从什么地方什么位置读取消息。消息的投递过程也是採用client主动pull的模型,这样大大减轻了server的负担。Kafka还强调降低数据的序列化和拷贝开销,它会将一些消息组织成Message Set做批量存储和发送,而且client在pull数据的时候。尽量以zero-copy的方式传输。利用sendfile(相应java里的 FileChannel.transferTo/transferFrom)这种高级IO函数来降低拷贝开销。可见。kafka是一个精心设计,特定于某些应用的MQ系统,这种偏向特定领域的MQ系统我预计会越来越多,垂直化的产品策略值的考虑)
D Chubby
(MapReduce 非常多人已经知道了,但关于Chubyy似乎熟悉它的就非常有限。这倒是不奇怪。由于MapReduce是一个针对开发者的 ProgrammingModel,自然会有非常多人去学习它,而Chubby很多其它的是一种为了实现MapReduce或者Bigtable而构建的内部的 工具,对于开发者来说基本上是透明的。
Chubby首先是一个分布式的文件系统。
Chubby可以提供机制使得client可以在Chubby service上创建文件和运行一些文件的基本操作。说它是分布式的文件系统,是由于一个Chubby cell是一个分布式的系统。一般包括了5台机器,整个文件系统是部署在这5台机器上的。
可是,从更高一点的语义层面上,Chubby是一个 lock service。一个针对松耦合的分布式系统的lock service。所谓lock service,就是这个service可以提供开发者经经常使用的“锁”,“解锁”功能。通过Chubby。一个分布式系统中的上千个client都可以 对于某项资源进行“加锁”,“解锁”。
那么,Chubby是如何实现这种“锁”功能的?就是通过文件。
Chubby中的“锁”就是文件。在上例 中。创建文件事实上就是进行“加锁”操作,创建文件成功的那个server事实上就是抢占到了“锁”。用户通过打开、关闭和读取文件。获取共享锁或者独占锁; 而且通过通信机制,向用户发送更新信息。
综上所述。Chubby是一个lock service。通过这个lock service能够解决分布式中的一致性问题。而这个lock service的实现是一个分布式的文件系统。
)
9. 以下与HDFS类似的框架是?C
A NTFS
B FAT32
C GFS(也是分布式文件系统,谷歌自己的分布式文件系统)
D EXT3
10. 以下哪些概念是HBase框架中使用的?A、C
A HDFS
B GridFS
C Zookeeper
D EXT3
第二部分:HBase核心知识点(对于Hbase实现核心LSM,会在下篇文章介绍)
11. LSM含义是?A
A 日志结构合并树(Log-Structured Merge Tree)
B 二叉树
C 平衡二叉树
D 长平衡二叉树
12. 以下对LSM结构描写叙述正确的是? A、C
A 顺序存储
B 直接写硬盘
C 须要将数据Flush到磁盘
D 是一种搜索平衡树
13. LSM更能保证哪种操作的性能?B
A 读
B 写
C 随机读
D 合并
14. LSM的读操作和写操作是独立的?A
A 是。
B 否。
C LSM并不区分读和写
D LSM中读写是同一种操作
15. LSM结构的数据首先存储在()。 B
A 硬盘上
B 内存中
C 磁盘阵列中
D 闪存中
16 HFile数据格式中的Data字段用于()。A
A 存储实际的KeyValue数据
B 存储数据的起点
C 指定字段的长度
D 存储数据块的起点
17 HFile数据格式中的MetaIndex字段用于()。D
A Meta块的长度
B Meta块的结束点
C Meta块数据内容
D Meta块的起始点
18 HFile数据格式中的Magic字段用于()。A
A 存储随机数,防止数据损坏
B 存储数据的起点
C 存储数据块的起点
D 指定字段的长度
19 HFile数据格式中的KeyValue数据格式,下列选项描写叙述正确的是()。A、D
A 是byte[]数组
B 没有固定的结构
C 数据的大小是定长的
D 有固定的结构
20 HFile数据格式中的KeyValue数据格式中Value部分是()。
C
A 拥有复杂结构的字符串
B 字符串
C 二进制数据
D 压缩数据
第三部分:HBase高级应用介绍
31 HBase中的批量载入底层使用()实现。A
A MapReduce
B Hive
C Coprocessor
D Bloom Filter
32. HBase性能优化包括以下的哪些选项?A、B、C、D
A 读优化
B 写优化
C 配置优化
D JVM优化
33. Rowkey设计的原则,下列哪些选项的描写叙述是正确的?A、B、C
A 尽量保证越短越好
B 能够使用汉字
C 能够使用字符串
D 本身是无序的
34. HBase构建二级索引的实现方式有哪些? A、B
A MapReduce
B Coprocessor
(HBase在0.92之后引入了协处理器(coprocessors),实现一些激动人心的新特性:可以轻易建立二次索引、复杂过滤器(谓词下推)以及訪问控制等)
C Bloom Filter
D Filter
35. 关于HBase二级索引的描写叙述。哪些是正确的?A、B
A 核心是倒排表
B 二级索引概念是相应Rowkey这个“一级”索引
C 二级索引使用平衡二叉树
D 二级索引使用LSM结构
36. 下列关于Bloom Filter的描写叙述正确的是?A、C
A 是一个非常长的二进制向量和一系列随机映射函数
B 没有误算率
C 有一定的误算率
D 能够在Bloom Filter中删除元素
第四部分:HBase安装、部署、启动
37. HBase官方版本号能够安装在什么操作系统上?A、B、C
A CentOS
B Ubuntu
C RedHat
D Windows
38. HBase虚拟分布式模式须要()个节点?A
A 1
B 2
C 3
D 最少3个
39. HBase分布式模式最好须要()个节点?C
A 1
B 2
C 3
D 最少
40. 下列哪些选项是安装HBase前所必须安装的?A、B
A 操作系统
B JDK
C Shell Script
D Java Code
41. 解压.tar.gz结尾的HBase压缩包使用的Linux命令是?A
A tar -zxvf
B tar -zx
C tar -s
D tar -nf