文章目录
一、 选择题
- 以下哪一项不属于 Hadoop 可以运行的模式 C。 A. 单机(本地)模式 B. 伪分布式模式 C. 互联模式 D. 分布式模式
- Hadoop 的作者是下面哪一位 B__。 A. Martin Fowler B. Doug cutting C. Kent Beck D. Grace Hopper
- 下列哪个程序通常与 NameNode 在同一个节点启动 D_。 A. TaskTracker B. DataNode C. SecondaryNameNode D. Jobtracker
- HDFS 默认 Block Size的大小是 B。 A.32MB B.64MB C.128MB D.256M
- 下列哪项通常是集群的最主要瓶颈 __C。 A. CPU B. 网络 C. 磁盘 IO D. 内存
- 下列关于 MapReduce 说法不正确的是 ____C。 A. MapReduce 是一种计算框架 B. MapReduce 来源于 google 的学术论文 C. MapReduce 程序只能用 java 语言编写 D. MapReduce 隐藏了并行计算的细节,方便使用
- HDFS是基于流数据模式访问和处理超大文件的需求而开发的,具有高容错、高可靠性、高可扩展性、高吞吐率等特征,适合的读写任务是 D__。 A.一次写入,少次读 B.多次写入,少次读 C.多次写入,多次读 D.一次写入,多次读
- HBase依靠 __A____存储底层数据。 A. HDFS B. Hadoop C. Memory D. MapReduce
- HBase依赖 ___D___提供强大的计算能力。 A. Zookeeper B. Chubby C. RPC D. MapReduce
- HBase依赖 ___A___提供消息通信机制 A. Zookeeper B. Chubby C. RPC D. Socket
- 下面与 HDFS类似的框架是 C_? A. NTFS B. FAT32 C. GFS D. EXT3
- 关于 SecondaryNameNode 下面哪项是正确的 C。 A. 它是 NameNode 的热备 B. 它对内存没有要求 C. 它的目的是帮助 NameNode 合并编辑日志,减少 NameNode 启动时间 D. SecondaryNameNode 应与 NameNode 部署到一个节点
- 大数据的特点不包括下面哪一项 D。 A. 巨大的数据量 B. 多结构化数据 C. 增长速度快 D. 价值密度高 #二、 HBase测试题
- HBase来源于哪一项? C A The Google File System B MapReduce C BigTable D Chubby
- 下面对 HBase 的描述哪些是正确的? B、C、D A 不是开源的 B 是面向列的 C 是分布式的 D 是一种 NoSQL数据库
- HBase依靠()存储底层数据 A A HDFS B Hadoop C Memory D MapReduce
- HBase依赖()提供消息通信机制 A A Zookeeper B Chubby C RPC D Socket
- HBase依赖()提供强大的计算能力 D A Zookeeper B Chubby C RPC D MapReduce
- MapReduce 与 HBase的关系,哪些描述是正确的? B、C A 两者不可或缺, MapReduce 是 HBase可以正常运行的保证 B 两者不是强关联关系,没有 MapReduce,HBase可以正常运行 C MapReduce 可以直接访问 HBase D 它们之间没有任何关系
- 下面哪些选项正确描述了 HBase的特性? A、B、 C、D A 高可靠性 B 高性能 C 面向列 D 可伸缩
- 下面与 Zookeeper 类似的框架是? D A Protobuf B Java C Kafka D Chubby
- 下面与 HDFS类似的框架是? C A NTFS B FAT32 C GFS D EXT3
- 下面哪些概念是 HBase框架中使用的? A、C A HDFS B GridFS C Zookeeper D EXT3
二、 HBase核心知识点
- LSM含义是? A A 日志结构合并树 B 二叉树 C 平衡二叉树 D 基于日志结构的合并树
- 下面对 LSM结构描述正确的是? A、C A 顺序存储 B 直接写硬盘 C 需要将数据 Flush到磁盘 D 是一种搜索平衡树
- LSM更能保证哪种操作的性能? B A 读 B 写 C 随机读 D 合并
- LSM的读操作和写操作是独立的? A A 是。 B 否。 C LSM并不区分读和写 D LSM中读写是同一种操作
- 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 部署到一个节点。
多选题:
- 下列哪项可以作为集群的管理?答案: ABD a)Puppet b)Pdsh c)Cloudera Manager d)Zookeeper
- 配置机架感知的下面哪项正确:答案 ABC a) 如果一个机架出问题,不会影响数据读写 b) 写入数据的时候会写到不同机架的 DataNode 中 c)MapReduce 会根据机架获取离自己比较近的网络数据
- Client 端上传文件的时候下列哪项正确?答案 B a) 数据经过 NameNode 传递给 DataNode b)Client 端将文件切分为 Block ,依次上传 c)Client 只上传数据到一台 DataNode,然后由 NameNode 负责 Block 复制工 作
- 下列哪个是 Hadoop 运行的模式:答案 ABC a) 单机版 b) 伪分布式 c) 分布式
- Cloudera 提供哪几种安装 CDH 的方法?答案: ABCD a)Cloudera manager b)Tarball c)Yum d)Rpm
判断题:
- Ganglia 不仅可以进行监控,也可以进行告警。 ( 正确)
- Block Size 是不可以修改的。(错误 )
- Nagios 不可以监控 Hadoop 集群,因为它不提供 Hadoop 支持。(错误 )
- 如果 NameNode 意外终止, SecondaryNameNode 会接替它使集群继续工作。 (错误 )
- Cloudera CDH 是需要付费使用的。(错误 )
- Hadoop 是 Java 开发的,所以 MapReduce 只支持 Java 语言编写。(错误 )
- Hadoop 支持数据的随机读写。(错 )
- NameNode 负责管理 metadata ,client 端每次读写请求,它都会从磁盘中读 取或则会写入 metadata 信息并反馈 client 端。(错误)
- Hadoop 自身具有严格的权限管理和安全措施保障集群正常运行。 (错误 )
- Slave 节点要存储数据,所以它的磁盘越大越好。 ( 错误)
- hadoopdfsadmin –report 命令用于检测 HDFS 损坏块。(错误 )
- Hadoop 默认调度器策略为 FIFO(正确 )
- 集群内每个节点都应该配 RAID,这样避免单磁盘损坏, 影响整个节点运行。 (错误 )
- 因为 HDFS 有多个副本,所以 NameNode 是不存在单点问题的。(错误 )
- 每个 map 槽就是一个线程。(错误 )
- Mapreduce 的 input split 就是一个 block 。(错误 )
- DataNode 首次加入 cluster 的时候,如果 log 中报告不兼容文件版本, 那需要 NameNode执行“Hadoop namenode - format ”操作格式化磁盘。(错误 )
- NameNode 的 Web UI 端口是 50030,它通过 jetty 启动的 Web 服务。(错 误 )
- Hadoop 环境变量中的 HADOOP_HEAPSIZE 用于设置所有 Hadoop 守护线程 的内存。它默认是 200 GB。( 错误)
版权归原作者 lanbabela 所有, 如有侵权,请联系我们删除。