一、 选择题

  1. 以下哪一项不属于 Hadoop 可以运行的模式 C
    A. 单机(本地)模式
    B. 伪分布式模式
    C. 互联模式
    D. 分布式模式
  2. Hadoop 的作者是下面哪一位 B__。
    A. Martin Fowler
    B. Doug cutting
    C. Kent Beck
    D. Grace Hopper
  3. 下列哪个程序通常与 NameNode 在同一个节点启动 D_。
    A. TaskTracker
    B. DataNode
    C. SecondaryNameNode
    D. Jobtracker
  4. HDFS 默认 Block Size的大小是 B
    A.32MB
    B.64MB
    C.128MB
    D.256M
  5. 下列哪项通常是集群的最主要瓶颈 __C
    A. CPU
    B. 网络
    C. 磁盘 IO
    D. 内存
  6. 下列关于 MapReduce 说法不正确的是 ____C
    A. MapReduce 是一种计算框架
    B. MapReduce 来源于 google 的学术论文
    C. MapReduce 程序只能用 java 语言编写
    D. MapReduce 隐藏了并行计算的细节,方便使用
  7. HDFS是基于流数据模式访问和处理超大文件的需求而开发的,具有高容错、高可靠性、高可扩展性、高吞吐率等特征,适合的读写任务是 D__。
    A.一次写入,少次读
    B.多次写入,少次读
    C.多次写入,多次读
    D.一次写入,多次读
  8. HBase依靠 __A____存储底层数据。
    A. HDFS
    B. Hadoop
    C. Memory
    D. MapReduce
  9. HBase依赖 ___D___提供强大的计算能力。
    A. Zookeeper
    B. Chubby
    C. RPC
    D. MapReduce
  10. HBase依赖 ___A___提供消息通信机制
    A. Zookeeper
    B. Chubby
    C. RPC
    D. Socket
  11. 下面与 HDFS类似的框架是 C_?
    A. NTFS
    B. FAT32
    C. GFS
    D. EXT3
  12. 关于 SecondaryNameNode 下面哪项是正确的 C
    A. 它是 NameNode 的热备
    B. 它对内存没有要求
    C. 它的目的是帮助 NameNode 合并编辑日志,减少 NameNode 启动时间
    D. SecondaryNameNode 应与 NameNode 部署到一个节点
  13. 大数据的特点不包括下面哪一项 D
    A. 巨大的数据量
    B. 多结构化数据
    C. 增长速度快
    D. 价值密度高
    #二、 HBase测试题
  14. HBase来源于哪一项? C
    A The Google File System
    B MapReduce
    C BigTable
    D Chubby
  15. 下面对 HBase 的描述哪些是正确的? B、C、D
    A 不是开源的
    B 是面向列的
    C 是分布式的
    D 是一种 NoSQL数据库
  16. HBase依靠()存储底层数据 A
    A HDFS
    B Hadoop
    C Memory
    D MapReduce
  17. HBase依赖()提供消息通信机制 A
    A Zookeeper
    B Chubby
    C RPC
    D Socket
  18. HBase依赖()提供强大的计算能力 D
    A Zookeeper
    B Chubby
    C RPC
    D MapReduce
  19. MapReduce 与 HBase的关系,哪些描述是正确的? B、C
    A 两者不可或缺, MapReduce 是 HBase可以正常运行的保证
    B 两者不是强关联关系,没有 MapReduce,HBase可以正常运行
    C MapReduce 可以直接访问 HBase
    D 它们之间没有任何关系
  20. 下面哪些选项正确描述了 HBase的特性? A、B、 C、D
    A 高可靠性
    B 高性能
    C 面向列
    D 可伸缩
  21. 下面与 Zookeeper 类似的框架是? D
    A Protobuf
    B Java
    C Kafka
    D Chubby
  22. 下面与 HDFS类似的框架是? C
    A NTFS
    B FAT32
    C GFS
    D EXT3
  23. 下面哪些概念是 HBase框架中使用的? A、C
    A HDFS
    B GridFS
    C Zookeeper
    D EXT3

二、 HBase核心知识点

  1. LSM含义是? A
    A 日志结构合并树
    B 二叉树
    C 平衡二叉树
    D 基于日志结构的合并树
  2. 下面对 LSM结构描述正确的是? A、C
    A 顺序存储
    B 直接写硬盘
    C 需要将数据 Flush到磁盘
    D 是一种搜索平衡树
  3. LSM更能保证哪种操作的性能? B
    A 读
    B 写
    C 随机读
    D 合并
  4. LSM的读操作和写操作是独立的? A
    A 是。
    B 否。
    C LSM并不区分读和写
    D LSM中读写是同一种操作
  5. 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
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 最少

四、关于 hadoop 的选择题

1、Doug Cutting 所创立的项目的名称都受到其家人的启发,以下项目不是由他
创立的项目是
A. Hadoop
B. Nutch
C. Lucene
D. Solr
答案: D
2、配置 Hadoop时,JAVA_HOME包含在哪一个配置文件中
A. hadoop-default.xml
B. hadoop-env.sh
C. hadoop-site.xml
D. configuration.xsl
答案: B
知识点: hadoop配置
3、Hadoop配置文件中, hadoop-site.xml 显示覆盖 hadoop-default.xml 里的内
容。在版本 0.20 中,hadoop-site.xml 被分离成三个 XML文件,不包括
A. conf-site.xml
B. mapred-site.xml
C. core-site.xml
D. hdfs-site.xml
答案: A
知识点: hadoop配置
4、HDFS默认的当前工作目录是 /user/$USER,fs.default.name 的值需要在哪个
配置文件内说明
A. mapred-site.xml
B. core-site.xml
C. hdfs-site.xml
D. 以上均不是
答案: B
知识点: hadoop配置
5、关于 Hadoop单机模式和伪分布式模式的说法,正确的是
A. 两者都起守护进程,且守护进程运行在一台机器上
B. 单机模式不使用 HDFS,但加载守护进程
C. 两者都不与守护进程交互,避免复杂性
D. 后者比前者增加了 HDFS输入输出以及可检查内存使用情况
答案: D
知识点: hadoop配置
6、下列关于 Hadoop API 的说法错误的是
A. Hadoop 的文件 API 不是通用的,只用于 HDFS文件系统
B. Configuration 类的默认实例化方法是以 HDFS系统的资源配置为基础的
C. FileStatus 对象存储文件和目录的元数据
D. FSDataInputStream 是 java.io.DataInputStream 的子类
答案: A
//HDFS
7、HDFS的 NameNode负责管理文件系统的命名空间,将所有的文件和文件夹的
元数据保存在一个文件系统树中,这些信息也会在硬盘上保存成以下文件:
A.日志
B.命名空间镜像
C.两者都是
答案: C
知识点:
8、HDFS的 namenode保存了一个文件包括哪些数据块, 分布在哪些数据节点上,
这些信息也存储在硬盘上。
A.正确
B.错误
答案: B
知识点:在系统启动的时候从数据节点收集而成的
9、Secondary namenode就是 namenode出现问题时的备用节点
A.正确
B.错误
答案: B
知识点:它和元数据节点负责不同的事情。 其主要功能就是周期性将元数据节点
的命名空间镜像文件和修改日志合并, 以防日志文件过大。 合并过后的命名空间
镜像文件也在 Secondary namenode保存了一份,以防 namenode失败的时候,可
以恢复。
10、出现在 datanode 的 VERSION文件格式中但不出现在 namenode的 VERSION
文件格式中的是
A. namespaceID
B. storageID
C. storageType
D. layoutVersion
答案: B
知识点:其他三项是公有的。 layoutVersion 是一个负整数,保存了 HDFS的持
续化在硬盘上的数据结构的格式版本号; namespaceID是文件系统的唯一标识符,
是在文件系统初次格式化时生成的; storageType 表示此文件夹中保存的是数据
节点的类型
11、Client 在 HDFS上进行文件写入时, namenode根据文件大小和配置情况, 返
回部分 datanode 信息,谁负责将文件划分为多个 Block ,根据 DataNode的地址
信息,按顺序写入到每一个 DataNode块
A. Client
B. Namenode
C. Datanode
D. Secondary namenode
答案: A
知识点: HDFS文件写入
12、HDFS的是基于流数据模式访问和处理超大文件的需求而开发的,默认的最
基本的存储单位是 64M,具有高容错、高可靠性、高可扩展性、高吞吐率等特征,
适合的读写任务是
A.一次写入,少次读写
B.多次写入,少次读写
C.一次写入,多次读写
D.多次写入,多次读写
答案: C
知识点: HDFS特性
13、HDFS无法高效存储大量小文件,想让它能处理好小文件,比较可行的改进
策略不包括
A. 利用 SequenceFile 、MapFile、Har 等方式归档小文件
B. 多 Master 设计
C. Block 大小适当调小
D. 调大 namenode内存或将文件系统元数据存到硬盘里
答案: D
知识点: HDFS特性
14、关于 HDFS的文件写入,正确的是
A. 支持多用户对同一文件的写操作
B. 用户可以在文件任意位置进行修改
C. 默认将文件块复制成三份存放
D. 复制的文件块默认都存在同一机架上
答案: C
知识点:在 HDFS的一个文件中只有一个写入者,而且写操作只能在文件末尾完
成,即只能执行追加操作。 默认三份文件块两块在同一机架上, 另一份存放在其
他机架上。
15、Hadoop fs 中的-get 和-put 命令操作对象是
A. 文件
B. 目录
C. 两者都是
答案: C
知识点: HDFS命令
16、Namenode在启动时自动进入安全模式,在安全模式阶段,说法错误的是
A. 安全模式目的是在系统启动时检查各个 DataNode上数据块的有效性
B. 根据策略对数据块进行必要的复制或删除
C. 当数据块最小百分比数满足的最小副本数条件时,会自动退出安全模式
D. 文件系统允许有修改
答案: D
知识点: HDFS安全模式

五、MapReduce

17、MapReduce框架提供了一种序列化键 / 值对的方法,支持这种序列化的类能
够在 Map和 Reduce过程中充当键或值,以下说法错误的是
A. 实现 Writable 接口的类是值
B. 实现 WritableComparable 接口的类可以是值或键
C. Hadoop 的基本类型 Text 并不实现 WritableComparable 接口
D. 键和值的数据类型可以超出 Hadoop自身支持的基本类型
答案: C
18、以下四个 Hadoop预定义的 Mapper实现类的描述错误的是
A. IdentityMapper<K, V> 实现 Mapper<K, V, K, V> ,将输入直接映射到输出
B. InverseMapper<K, V> 实现 Mapper<K, V, K, V> ,反转键 / 值对
C. RegexMapper实现 Mapper<K, Text, Text, LongWritable> ,为每个常
规表达式的匹配项生成一个 (match, 1) 对 D. TokenCountMapper实现 Mapper<K, Text, Text, LongWritable> ,当输
入的值为分词时,生成 (taken, 1) 对
答案: B
知识点: InverseMapper<K, V> 实现 Mapper<K, V, V, K>
19、下列关于 HDFS为存储 MapReduce并行切分和处理的数据做的设计,错误的
是A. FSDataInputStream 扩展了 DataInputStream 以支持随机读
B. 为实现细粒度并行,输入分片 (Input Split) 应该越小越好
C. 一台机器可能被指派从输入文件的任意位置开始处理一个分片
D. 输入分片是一种记录的逻辑划分, 而 HDFS数据块是对输入数据的物理分割
答案: B
知识点:每个分片不能太小, 否则启动与停止各个分片处理所需的开销将占很大
一部分执行时间
20、针对每行数据内容为” Timestamp Url ”的数据文件, 在用 JobConf 对象 conf
设 置 conf.setInputFormat(WhichInputFormat.class) 来 读 取 这 个 文件 时 ,
WhichInputFormat 应该为以下的
A. TextInputFormat
B. KeyValueTextInputFormat
C. SequenceFileInputFormat
D. NLineInputFormat
答案: B
知识点:四项主要的 InputFormat 类。KeyValueTextInputFormat 以每行第一个
分隔符为界,分隔符前为 key,之后为 value ,默认制表符为 \t
21、有关 MapReduce的输入输出,说法错误的是
A. 链接多个 MapReduce作业时,序列文件是首选格式
B. FileInputFormat 中实现的 getSplits() 可以把输入数据划分为分片, 分片
数目和大小任意定义
C. 想完全禁止输出,可以使用 NullOutputFormat
D. 每个 reduce 需将它的输出写入自己的文件中,输出无需分片
答案: B
知识点:分片数目在 numSplits 中限定,分片大小必须大于 mapred.min.size
个字节,但小于文件系统的块
22、Hadoop Streaming 支持脚本语言编写简单 MapReduce程序,以下是一个例
子:
bin/hadoop jar contrib/streaming/hadoop-0.20-streaming.jar
—input input/filename
—output output
—mapper ‘dosth.py 5 ’
—file dosth.py
—D mapred.reduce.tasks=1
23、以下说法不正确的是
A. Hadoop Streaming 使用 Unix 中的流与程序交互
B. Hadoop Streaming 允许我们使用任何可执行脚本语言处理数据流
C. 采用脚本语言时必须遵从 UNIX的标准输入 STDIN,并输出到 STDOUT
D. Reduce 没有设定,上述命令运行会出现问题
答案: D
知识点:没有设定特殊的 reducer ,默认使用 IdentityReducer
24、在高阶数据处理中, 往往无法把整个流程写在单个 MapReduce作业中,下列
关于链接 MapReduce作业的说法,不正确的是
A.Job 和 JobControl 类可以管理非线性作业之间的依赖
B.ChainMapper和 ChainReducer 类可以用来简化数据预处理和后处理的构成
C.使用 ChainReducer 时,每个 mapper和 reducer 对象都有一个本地 JobConf
对象
D.ChainReducer.addMapper() 方法中,一般对键 / 值对发送设置成值传递, 性能
好且安全性高
答案: D
知识点:ChainReducer.addMapper() 方法中,值传递安全性高, 引用传递性能高
25、下面哪个程序负责 HDFS 数据存储。答案 C datanode
a)NameNode
b)Jobtracker
c)Datanode
d)secondaryNameNode
e)tasktracker
26. HDFS 中的 block 默认保存几份? 答案 A默认 3 分
a)3 份
b)2 份
c)1 份
d) 不确定
27. 下列哪个程序通常与 NameNode 在一个节点启动?答案 D
a)SecondaryNameNode
b)DataNode
c)TaskTracker
d)Jobtracker
28. Hadoop 作者 答案 C Doug cutting
a)Martin Fowler
b)Kent Beck
c)Doug cutting
29. HDFS 默认 Block Size 答案: B
a)32MB
b)64MB
c)128MB
30、下列哪项通常是集群的最主要瓶颈:答案: C磁盘
a)CPU
b) 网络
c) 磁盘 IO
d) 内存
31. 关于 SecondaryNameNode 哪项是正确的?答案 C
a) 它是 NameNode 的热备
b) 它对内存没有要求
c) 它的目的是帮助 NameNode 合并编辑日志,减少 NameNode 启动时间
d)SecondaryNameNode 应与 NameNode 部署到一个节点。

多选题:

  1. 下列哪项可以作为集群的管理?答案: ABD
    a)Puppet
    b)Pdsh
    c)Cloudera Manager
    d)Zookeeper
  2. 配置机架感知的下面哪项正确:答案 ABC
    a) 如果一个机架出问题,不会影响数据读写
    b) 写入数据的时候会写到不同机架的 DataNode 中
    c)MapReduce 会根据机架获取离自己比较近的网络数据
  3. Client 端上传文件的时候下列哪项正确?答案 B
    a) 数据经过 NameNode 传递给 DataNode
    b)Client 端将文件切分为 Block ,依次上传
    c)Client 只上传数据到一台 DataNode,然后由 NameNode 负责 Block 复制工
  4. 下列哪个是 Hadoop 运行的模式:答案 ABC
    a) 单机版
    b) 伪分布式
    c) 分布式
  5. Cloudera 提供哪几种安装 CDH 的方法?答案: ABCD
    a)Cloudera manager
    b)Tarball
    c)Yum
    d)Rpm

判断题:

  1. Ganglia 不仅可以进行监控,也可以进行告警。 ( 正确)
  2. Block Size 是不可以修改的。(错误 )
  3. Nagios 不可以监控 Hadoop 集群,因为它不提供 Hadoop 支持。(错误 )
  4. 如果 NameNode 意外终止, SecondaryNameNode 会接替它使集群继续工作。
    (错误 )
  5. Cloudera CDH 是需要付费使用的。(错误 )
  6. Hadoop 是 Java 开发的,所以 MapReduce 只支持 Java 语言编写。(错误 )
  7. Hadoop 支持数据的随机读写。(错 )
  8. NameNode 负责管理 metadata ,client 端每次读写请求,它都会从磁盘中读
    取或则会写入 metadata 信息并反馈 client 端。(错误)
  9. Hadoop 自身具有严格的权限管理和安全措施保障集群正常运行。 (错误 )
  10. Slave 节点要存储数据,所以它的磁盘越大越好。 ( 错误)
  11. hadoopdfsadmin –report 命令用于检测 HDFS 损坏块。(错误 )
  12. Hadoop 默认调度器策略为 FIFO(正确 )
  13. 集群内每个节点都应该配 RAID,这样避免单磁盘损坏, 影响整个节点运行。
    (错误 )
  14. 因为 HDFS 有多个副本,所以 NameNode 是不存在单点问题的。(错误 )
  15. 每个 map 槽就是一个线程。(错误 )
  16. Mapreduce 的 input split 就是一个 block 。(错误 )
  17. DataNode 首次加入 cluster 的时候,如果 log 中报告不兼容文件版本,
    那需要 NameNode执行“Hadoop namenode - format ”操作格式化磁盘。(错误 )
  18. NameNode 的 Web UI 端口是 50030,它通过 jetty 启动的 Web 服务。(错
    误 )
  19. Hadoop 环境变量中的 HADOOP_HEAPSIZE 用于设置所有 Hadoop 守护线程
    的内存。它默认是 200 GB。( 错误)
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐