Hadoop期末复习试题和答案

07-03 1063阅读

Hadoop期末复习试题和答案
(图片来源网络,侵删)

2.

NameNode在启动时自动进入安全模式,在安全模式阶段,说法错误的是

A. 安全模式目的是在系统启动时检查各个DataNode上数据块的有效性

B. 根据策略对数据块进行必要的复制或删除

C. 当数据块最小百分比数满足最小副本数条件时,会自动退出安全模式

D. 文件系统允许有修改

标准答案:D

3.

关于HDFS的文件写入,正确的是

A. 支持多用户对同一个文件的写操作

B. 用户可以在文件的任意位置进行修改

C. 默认将文件复制成三份存放

D. 复制的文件默认都存在同一机架上

标准答案:C

9. 下面与HDFS类似的框架是?C

A NTFS

B FAT32

C GFS(也是分布式文件系统,谷歌自己的分布式文件系统)

D EXT3

4.

HDFS无法高效存储大量小文件,想让它能处理好小文件,比较可行的改进策略不包括

A. 利用SequenceFile、MapFile、Har等方式归档小文件

B. 多Master设计

C. Block大小适当调小

D. 调大namenode内存或将文件系统元数据存到硬盘里

标准答案:D

试题解析:

5.

HDFS是基于流数据模式访问和处理超大文件的需求而开发的,默认的最基本的存储单位是64M,具有高容错、高可靠性、高扩展性、高吞吐率等特征,适合的读写任务是

A. 一次写入,少次读写

B. 多次写入,少次读写

C. 一次写入,多次读写

D. 多次写入,多次读写

标准答案:C

6.

Clinet在HDFS上进行文件写入时,namenode根据文大小和配置情况,返回部分DataNode信息,谁负责将文件划分为多个block,根据DataNode的地址信息按顺序写入到每一个DataNode块

A. Clinte

B. NameNode

C. DataNode

D. Secondary namenode

标准答案:A

试题解析:

7.

出现在datanode的VERSION文件格式中但不出现在nomenode的VERSION文件格式中的是

A. namenodeID

B. storageID

C. storageType

D. layoutVersion

标准答案:B

试题解析:

8.

Client端上传文件到HDFS上的时候下列正确的是()

A. 数据经过NameNode传递给DataNode

B. 数据副本将以管道的方式依次传递

C. Client将数据写到一台DataNode上,并由Client负责完成Block复制工作

D. 当某个DataNode失败,客户端不会继续传给其它的DataNode

标准答案:B

试题解析:

9.

下列关于Hadoop API 说法错误的是()

A. hadoop的文件API不是通用的,只用于HDFS文件系统

B. Configuration 类的默认实例化方法是以HDFS系统的资源配置为基础

C. FileStatus对象存储文件和目录的元数据

D. FSDataInputStream是java.io.DataInputStream的子类

标准答案:A

10.

关于Hadoop单机模式和伪分布式的说法正确的是()

A. 两者都启动守护进程,且守护进程运行在一台机器上

B. 单机模式不使用HDFS,但加载守护进程

C. 两者都不与守护进程交互,避免复杂性

D. 后者比前者增加了HDFS输入输出以及可检查内存使用情况

标准答案:D

11.

配置Hadoop时,JAVA_HOME包含在哪一个配置文件中

A. hadoop-default.xml

B. hadoop-env.sh

C. hadoop-site.xml

D. Configuration.xsl

标准答案:B

12.

关于 SecondaryNameNode 哪项是正确的?

A. 它是 NameNode 的热备

B. 它对内存没有要求

C. 它的目的是帮助 NameNode 合并编辑日志,减少 NameNode 启动时间

D. SecondaryNameNode 应与 NameNode 部署到一个节点

标准答案:C

13.

下列哪项通常是集群的最主要瓶颈

A. CPU

B. 网络

C. 磁盘IO

D. 内存

标准答案:C

14.

如果一个Hadoop集群中HDFS的默认大小是128MB,本地磁盘有个HDFS上的目录包含100个纯文本文件,每个文件200MB。如果使用TextInputFormat作为输入格式类,将该目录作为作业输入,将会启动()个Map。

A. 64

B. 100

C. 200

D. 640

标准答案:C

15.

一个文件大小156MB,在Hadoop2.0中默认情况下请问其占用几个Block()?

A. 1

B. 2

C. 3

D. 4

标准答案:B

156-128=28,128 两个

16.

Hadoop2.0中HDFS 默认 Block Size

A. 32MB

B. 64MB

C. 128MB

D. 256MB

标准答案:C

Hadoop-2.X中HDFS文件块大小默认为128M

24.

在一个Hadoop集群中有多少个JobTracker daemon?

A. 一个

B. 两个

C. 每个slave节点一个

D. 每个slave节点两个

标准答案:A

25.

在Hadoop MapReduce框架中,任何值类型________。

A. 需要实现Writable接口

B. 需要实现Comparable 接口

C. 需要实现WritableComparable接口

D. 不需要实现任何接口

标准答案:A

26.

在海量数据中,Dynamo的存储是按照什么策略来进行的?

A. 消息代理

B. 传统的存储放置策略

C. 一致性哈希算法

D. 异步复制

标准答案:C

27.

下列选项中,不是CouchDB的复制中的特点是:

A. 使用优先列表

B. 复制过程是逐步进行

C. 允许分区复制

D. 支持智能文档模式

标准答案:A

28.

Hive查询语言中的算术操作符的返回结果是________类型的。

A. Bigint

B. String

C. Number

D. Int

标准答案:C

29.

在配置中,哪个属性定义了jobtracker服务主机?

A. mapred.job.tracker

B. map.red.jobtracker

C. map.red.job.tracker

D. mapred.jobtracker

标准答案:A

30.

HDfS中的block默认保存几份?

A. 3份

B. 2份

C. 1份

D. 不确定

标准答案:A

##网上的部分试题

//Hadoop基础

Doug Cutting所创立的项目的名称都受到其家人的启发,以下项目不是由他创立的项目是

A. Hadoop

B. Nutch

C. Lucene

D. Solr

答案:D

配置Hadoop时,JAVA_HOME包含在哪一个配置文件中

A. hadoop-default.xml

B. hadoop-env.sh

C. hadoop-site.xml

D. configuration.xsl

答案:B

知识点:hadoop配置

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配置

HDFS默认的当前工作目录是/user/$USER,fs.default.name的值需要在哪个配置文件内说明

A. mapred-site.xml

B. core-site.xml

C. hdfs-site.xml

D. 以上均不是

答案:B

知识点:hadoop配置

关于Hadoop单机模式和伪分布式模式的说法,正确的是

A. 两者都起守护进程,且守护进程运行在一台机器上

B. 单机模式不使用HDFS,但加载守护进程

C. 两者都不与守护进程交互,避免复杂性

D. 后者比前者增加了HDFS输入输出以及可检查内存使用情况

答案:D

知识点:hadoop配置

//HDFS

谁负责将文件划分为多个Block

A. Client

B. Namenode

C. Datanode

D. Secondary namenode

答案:A

知识点:HDFS文件写入

HDFS的是基于流数据模式访问和处理超大文件的需求而开发的,默认的最基本的存储单位是64M,具有高容错、高可靠性、高可扩展性、高吞吐率等特征,适合的读写任务是

A.一次写入,少次读写

B.多次写入,少次读写

C.一次写入,多次读写

D.多次写入,多次读写

答案:C

知识点:HDFS特性

HDFS无法高效存储大量小文件,想让它能处理好小文件,比较可行的改进策略不包括

A. 利用SequenceFile、MapFile、Har等方式归档小文件

B. 多Master设计

C. Block大小适当调小

D. 调大namenode内存或将文件系统元数据存到硬盘里

答案:D

知识点:HDFS特性

关于HDFS的文件写入,正确的是

A. 支持多用户对同一文件的写操作

B. 用户可以在文件任意位置进行修改

C. 默认将文件块复制成三份存放

D. 复制的文件块默认都存在同一机架上

答案:C

知识点:在HDFS的一个文件中只有一个写入者,而且写操作只能在文件末尾完成,即只能执行追加操作。默认三份文件块两块在同一机架上,另一份存放在其他机架上。

Namenode在启动时自动进入安全模式,在安全模式阶段,说法错误的是

A. 安全模式目的是在系统启动时检查各个DataNode上数据块的有效性

B. 根据策略对数据块进行必要的复制或删除

C. 当数据块最小百分比数满足的最小副本数条件时,会自动退出安全模式

D. 文件系统允许有修改

答案:D

知识点:HDFS安全模式

//MapReduce

MapReduce框架提供了一种序列化键/值对的方法,支持这种序列化的类能够在Map和Reduce过程中充当键或值,以下说法错误的是

A. 实现Writable接口的类是值

B. 实现WritableComparable接口的类可以是值或键

C. Hadoop的基本类型Text并不实现WritableComparable接口

D. 键和值的数据类型可以超出Hadoop自身支持的基本类型

答案:C

下列关于HDFS为存储MapReduce并行切分和处理的数据做的设计,错误的是

A. FSDataInputStream扩展了DataInputStream以支持随机读

B. 为实现细粒度并行,输入分片(Input Split)应该越小越好

C. 一台机器可能被指派从输入文件的任意位置开始处理一个分片

D. 输入分片是一种记录的逻辑划分,而HDFS数据块是对输入数据的物理分割

答案:B

知识点:每个分片不能太小,否则启动与停止各个分片处理所需的开销将占很大一部分执行时间

有关MapReduce的输入输出,说法错误的是

A. 链接多个MapReduce作业时,序列文件是首选格式

B. FileInputFormat中实现的getSplits()可以把输入数据划分为分片,分片数目和大小任意定义

C. 想完全禁止输出,可以使用NullOutputFormat

D. 每个reduce需将它的输出写入自己的文件中,输出无需分片

答案:B

知识点:分片数目在numSplits中限定,分片大小必须大于mapred.min.size个字节,但小于文件系统的块

下面哪个程序负责 HDFS 数据存储。答案C datanode

a)NameNode

b)Jobtracker

c)Datanode

d)secondaryNameNode

e)tasktracker

HDfS 中的 block 默认保存几份? 答案A默认3分

a)3 份

b)2 份

c)1 份

d)不确定

下列哪个程序通常与 NameNode 在一个节点启动?答案D

a)SecondaryNameNode

b)DataNode

c)TaskTracker

d)Jobtracker

下列哪项通常是集群的最主要瓶颈:答案:C磁盘

a)CPU

b)网络

c)磁盘IO

d)内存

2下列哪个不属于Hadoop的特性?

A、成本高

B、高可靠性

C、高容错性

D、运行在Linux平台上

我的答案:A

3 Hadoop框架中最核心的设计是什么?

A、为海量数据提供存储的HDFS和对数据进行计算的MapReduce

B、提供整个HDFS文件系统的NameSpace(命名空间)管理、块管理等所有服务

C、Hadoop不仅可以运行在企业内部的集群中,也可以运行在云计算环境中

D、Hadoop被视为事实上的大数据处理标准

我的答案:A

4在一个基本的Hadoop集群中,DataNode主要负责什么?

A、负责执行由JobTracker指派的任务

B、协调数据计算任务

C、负责协调集群中的数据存储

D、存储被拆分的数据块

我的答案:D

5 Hadoop最初是由谁创建的?

A、Lucene

B、Doug Cutting

C、Apache

D、MapReduce

我的答案:B

6下列哪一个不属于Hadoop的大数据层的功能?

A、数据挖掘

B、离线分析

C、实时计算

D、BI分析

我的答案:C

7在一个基本的Hadoop集群中,SecondaryNameNode主要负责什么?

A、帮助NameNode收集文件系统运行的状态信息

B、负责执行由JobTracker指派的任务

C、协调数据计算任务

D、负责协调集群中的数据存储

我的答案:A

8下面哪一项不是Hadoop的特性?

A、可扩展性高

B、只支持少数几种编程语言

C、成本低

D、能在linux上运行

我的答案:B

9在Hadoop项目结构中,HDFS指的是什么?

A、分布式文件系统

B、分布式并行编程模型

C、资源管理和调度器

D、Hadoop上的数据仓库

我的答案:A

10在Hadoop项目结构中,MapReduce指的是什么?

A、分布式并行编程模型

B、流计算框架

C、Hadoop上的工作流管理系统

D、提供分布式协调一致性服务

我的答案:A

11下面哪个不是Hadoop1.0的组件:( )

A、HDFS

B、MapReduce

C、YARN

D、NameNode和DataNode

我的答案:C

12分布式文件系统指的是什么?

A、把文件分布存储到多个计算机节点上,成千上万的计算机节点构成计算机集群

B、用于在Hadoop与传统数据库之间进行数据传递

C、一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统

D、一种高吞吐量的分布式发布订阅消息系统,可以处理消费者规模的网站中的所有动作流数据

我的答案:A

13下面哪一项不属于计算机集群中的节点?

A、主节点(Master Node)

B、源节点(SourceNode)

C、名称结点(NameNode)

D、从节点(Slave Node)

我的答案:B

14在Hadoop2.0以上版本中,HDFS中,默认一个块多大?

A、128MB

B、32KB

C、128KB

D、16KB

我的答案:A

15下列哪一项不属于HDFS采用抽象的块概念带来的好处?

A、简化系统设计

B、支持大规模文件存储

C、强大的跨平台兼容性

D、适合数据备份

我的答案:C

16在HDFS中,NameNode的主要功能是什么?

A、维护了block id 到datanode本地文件的映射关系

B、存储文件内容

C、文件内存保存在磁盘中

D、存储元数据

我的答案:D

17下面对FsImage的描述,哪个是错误的?

A、FsImage文件没有记录每个块存储在哪个数据节点

B、FsImage文件包含文件系统中所有目录和文件inode的序列化形式

C、FsImage用于维护文件系统树以及文件树中所有的文件和文件夹的元数据

D、FsImage文件记录了每个块具体被存储在哪个数据节点

我的答案:D

18下面对SecondaryNameNode第二名称节点的描述,哪个是错误的?

A、SecondaryNameNode一般是并行运行在多台机器上

B、它是用来保存名称节点中对HDFS元数据信息的备份,并减少名称节点重启的时间

C、SecondaryNameNode通过HTTPGET方式从NameNode上获取到FsImage和EditLog文件,并下载到本地的相应目录下

D、SecondaryNameNode是HDFS架构中的一个组成部分

我的答案:A

19 HDFS采用了什么模型?

A、分层模型

B、主从结构模型

C、管道-过滤器模型

D、点对点模型

我的答案:B

20在Hadoop项目结构中,HDFS指的是什么?

A、分布式文件系统

B、流数据读写

C、资源管理和调度器

D、Hadoop上的数据仓库

我的答案:A

21下列关于HDFS的描述,哪个不正确?

A、HDFS还采用了相应的数据存放、数据读取和数据复制策略,来提升系统整体读写响应性能

B、HDFS采用了主从(Master/Slave)结构模型

C、HDFS采用了冗余数据存储,增强了数据可靠性

D、HDFS采用块的概念,使得系统的设计变得更加复杂

我的答案:D

22下列关于BigTable的描述,哪个是错误的?

A、爬虫持续不断地抓取新页面,这些页面每隔一段时间地存储到BigTable里

B、BigTable是一个分布式存储系统

C、BigTable起初用于解决典型的互联网搜索问题

D、网络搜索应用查询建立好的索引,从BigTable得到网页

我的答案:A

23下列选项中,关于HBase和BigTable的底层技术对应关系,哪个是错误的?

A、GFS与HDFS相对应

B、GFS与Zookeeper相对应

C、MapReduce与Hadoop MapReduce相对应

D、Chubby与Zookeeper相对应

我的答案:B

24在HBase中,关于数据操作的描述,下列哪一项是错误的?

A、HBase采用了更加简单的数据模型,它把数据存储为未经解释的字符串

B、HBase操作不存在复杂的表与表之间的关系

C、HBase不支持修改操作

D、HBase在设计上就避免了复杂的表和表之间的关系

我的答案:C

26 HBase中需要根据某些因素来确定一个单元格,这些因素可以视为一个“四维坐标”,下面哪个不属于“四维坐标”?

A、行键

B、关键字

C、列族

D、时间戳

我的答案:B

27关于HBase的三层结构中各层次的名称和作用的说法,哪个是错误的?

A、Zookeeper文件记录了用户数据表的Region位置信息

B、-ROOT-表记录了.META.表的Region位置信息

C、.META.表保存了HBase中所有用户数据表的Region位置信息

D、Zookeeper文件记录了-ROOT-表的位置信息

我的答案:A

28下面关于主服务器Master主要负责表和Region的管理工作的描述,哪个是错误的?

A、在Region分裂或合并后,负责重新调整Region的分布

B、对发生故障失效的Region服务器上的Region进行迁移

C、管理用户对表的增加、删除、修改、查询等操作

D、不支持不同Region服务器之间的负载均衡

我的答案:D

29 HBase只有一个针对行健的索引,如果要访问HBase表中的行,下面哪种方式是不可行的?

A、通过单个行健访问

B、通过时间戳访问

C、通过一个行健的区间来访问

D、全表扫描

我的答案:B

HBase依赖__Zookeeper___提供消息通信机制。

HBase 靠__HDFS___存储底层数据依。

Hadoop主要解决的是______、______。

节点距离是两个节点到达最近的共同祖先的___距离总和___。

HDFS中文是______。

在hive中能够写sql处理的前提是针对表,而不是针对__文件____。

Hive用户接口包括___ CLI ___、___ JDBC/ODBC ___、__ WebGUI ____。

31下列哪个不属于NoSQL数据库的特点?

A、灵活的可扩展性

B、灵活的数据模型

C、与云计算紧密融合

D、数据存储规模有限

我的答案:D

33下列哪一项不属于NoSQL的四大类型?

A、文档数据库

B、图数据库

C、列族数据库

D、时间戳数据库

我的答案:D

34下列关于键值数据库的描述,哪一项是错误的?

A、扩展性好,灵活性好

B、大量写操作时性能高

C、无法存储结构化信息

D、条件查询效率高

我的答案:D

35下列关于列族数据库的描述,哪一项是错误的?

A、查找速度慢,可扩展性差

B、功能较少,大都不支持强事务一致性

C、容易进行分布式扩展

D、复杂性低

我的答案:A

41下列关于MapReduce模型的描述,错误的是哪一项?

A、MapReduce采用“ 分而治之”策略

B、MapReduce设计的一个理念就是“ 计算向数据靠拢”

C、MapReduce框架采用了Master/Slave架构

D、MapReduce应用程序只能用Java来写

我的答案:D

42下列关于MapReduce工作流程,哪个描述是正确的?

A、所有的数据交换都是通过MapReduce框架自身去实现的

B、不同的Map任务之间会进行通信

C、不同的Reduce任务之间可以发生信息交换

D、用户可以显式地从一台机器向另一台机器发送消息

我的答案:A

请简述Hadoop系统环境准备中Centos7系统需要做哪些配置。

IP地址配置

安装 vim、net-tools 工具

修改主机名

配置IP地址映射

关闭防火墙、selinux

Sudo权限配置

2、分桶表也叫桶表,叫法源自建表语法中bucket,用于优化查询而设计的表类型。使用HQL语句创建一个桶表,表名为“us_covid_bucket_tb”。字段有统计时间、县、州、编号、疑是、确诊。以州进行分桶,分为5个桶。

create table if not exists hive_3_6_db.us_covid_bucket_tb(

    count_time string comment "统计时间",

    county string comment "县",

    state  string comment "州",

    num string comment "编号",

    cas int comment "疑是",

    deaths int comment "确诊"

)clustered by (state)  

    sorted by (cas)

    into 5 buckets ;

请简述容量高度器的优点,并作简要说明。

多队列:每个队列可配置一定的资源量,每个队列采用FIFO调度策略

容量保证:管理员可为每个队列设置资源最低保证和资源使用上限

灵活性:如果一个队列中的资源有剩余,可以暂时共享给那些需要资源的队列,而一旦该队列有新的应用程序提交,则其他队列借调的资源会归还给该队列。

多租户:

        支持多用户共享集群和多应用程序同时运行。

        为了防止同一个用户的作业独占队列中的资源,该调度器会对同一用户提交的作业所占资源量进行限定。

Hadoop是一个流行的开源框架,用来存储和处理商用硬件上的大规模数据集。对于HDFS上的海量日志而言,编写Mapreduce程序代码对于类似数据仓库的需求来说总是显得相对于难以维护和重用,Hive作为一种基于Hadoop的数据仓库解决方案应运而生,并得到了广泛应用。在Hive数据仓库存入了某聊天数据表,表名为“msg_tb”。里面有字段有:消息时间、发送人名称、发送人账号、发送人性别、发送人IP、发送人系统、发送人手机型号、发送人手机网络、发送人GPS等字段。并已经对数据进行了清洗,清洗后的表名为“msg_etl_tb”。请完成以下需求:统计清洗后的数据总行数;统计今日总消息量;统计今日每小时消息量、发送和接收用户数;统计今日各地区发送消息数据量。

1)统计etl后的数据的行数

select count(msg_time) as etl_row_count from msg_etl_tb;

2)统计今日总消息量 : 以天分组

create table if not exists momo_3_6_db.day_total_num

comment "统计今日总消息量" as

select dayinfo,

       count(msg_time) as msg_total_cunt

from msg_etl_tb

group by dayinfo;

3) 统计今日每小时消息量、发送和接收用户数 :

create table if not exists momo_3_6_db.hour_msg_send_rece_user_num

comment "今日每小时消息量、发送和接收用户数" as

select dayinfo,

       hourinfo,

       count(msg_time) as hour_msg_count,

       count(distinct receiver_account) as rec_hour_user_cunt,

       count(distinct sender_account) as send_hour_user_cunt

from msg_etl_tb

group by dayinfo, hourinfo;

4)统计今日各地区发送消息数据量

desc formatted msg_etl_tb;

create table if not exists momo_3_6_db.area_msg_cunt

comment "各地区发送消息数据量" as

select dayinfo,

       sender_gps,

       count(msg_time) as area_msg_count,

       cast(lng_lng as double) as ling_lng,

       cast(lat_lat as double) as lat_lattt

from momo_3_6_db.msg_etl_tb

group by dayinfo, sender_gps, lng_lng, lat_lat;

43下列关于MapReduce的说法,哪个描述是错误的?

A、MapReduce具有广泛的应用,比如关系代数运算、分组与聚合运算等

B、MapReduce将复杂的、运行于大规模集群上的并行计算过程高度地抽象到了两个函数

C、编程人员在不会分布式并行编程的情况下,也可以很容易将自己的程序运行在分布式系统上,完成海量数据集的计算

D、不同的Map任务之间可以进行通信

我的答案:D

44下列关于Map和Reduce函数的描述,哪个是错误的?

A、Map将小数据集进一步解析成一批对,输入Map函数中进行处理

B、Map每一个输入的会输出一批。是计算的中间结果

C、Reduce输入的中间结果中的List(v 2 )表示是一批属于不同k 2 的value

D、Reduce输入的中间结果中的List(v 2 )表示是一批属于同一个k 2 的value

我的答案:C

45下面哪一项不是MapReduce体系结构主要部分?

A、Client

B、JobTracker

C、TaskTracker以及Task

D、Job

我的答案:D

46关于MapReduce1.0的体系结构的描述,下列说法错误的?

A、Task 分为Map Task 和Reduce Task 两种,分别由JobTracker 和TaskTracker 启动

B、slot 分为Map slot 和Reduce slot 两种,分别供MapTask 和Reduce Task 使用

C、TaskTracker 使用“slot”等量划分本节点上的资源量(CPU、内存等)

D、TaskTracker 会周期性接收JobTracker 发送过来的命令并执行相应的操作(如启动新任务、杀死任务等)

我的答案:A

47下列说法错误的是?

A、Hadoop MapReduce是MapReduce的开源实现,后者比前者使用门槛低很多

B、MapReduce采用非共享式架构,容错性好

C、MapReduce主要用于批处理、实时、计算密集型应用

D、MapReduce采用“ 分而治之”策略

我的答案:A

48下面哪个选项不属于Hadoop1.0 的问题?

A、单一名称节点,存在单点失效问题

B、单一命名空间,无法实现资源隔离

C、资源管理效率低

D、很难上手

我的答案:D

49下列哪项是Hadoop生态系统中Spark的功能?

A、处理大规模数据的脚本语言

B、工作流和协作服务引擎,协调Hadoop上运行的不同任务

C、不支持DAG作业的计算框架

D、基于内存的分布式并行编程框架,具有较高的实时性,并且较好支持迭代计算

我的答案:D

50在Hadoop生态系统中,Kafka主要解决Hadoop 中存在哪些的问题?

A、Hadoop生态系统中各个组件和其他产品之间缺乏统一的、高效的数据交换中介

B、不同的MapReduce任务之间存在重复操作,降低了效率

C、延迟高,而且不适合执行迭代计算

D、抽象层次低,需要手工编写大量代码

我的答案:A

51下列哪一个不属于HDFS1.0 中存在的问题?

A、无法水平扩展

B、单点故障问题

C、单一命名空间

D、系统整体性能受限于单个名称节点的吞吐量

我的答案:A

54下列哪个不属于YARN体系结构中ResourceManager的功能?

A、处理客户端请求

B、监控NodeManager

C、资源分配与调度

D、处理来自ApplicationMaster的命令

我的答案:D

57下面哪个不可能是Hive的执行引擎:( )

A、MapReduce

B、Tez

C、Storm

D、Spark

我的答案:C

59以下哪个不是数据仓库的特性:( )

A、面向主题的

B、集成的

C、动态变化的

D、反映历史变化的

我的答案:C

60下面关于Hive的描述错误的是:( )

A、Hive是一个构建在Hadoop之上的数据仓库工具

B、Hive是由Facebook公司开发的

C、Hive在某种程度上可以看作是用户编程接口,其本身并不存储和处理数据

D、Hive定义了简单的类似SQL的查询语言–HiveQL,它与大部分SQL语法无法兼容

我的答案:D

61下面关于Hive的描述错误的是:( )

A、HBase与Hive的功能是互补的,它实现了Hive不能提供的功能

B、当采用MapReduce作为执行引擎时,用HiveQL语句编写的处理逻辑,最终都要转化为MapReduce任务来运行

C、Hive一般用于处理静态数据,主要是BI报表数据

D、Hive主要是用于满足实时数据流的处理需求

我的答案:D

62关于Hive和传统关系数据库的对比分析,下面描述错误的是:( )

A、Hive一般依赖于分布式文件系统HDFS,而传统数据库则依赖于本地文件系统

B、传统的关系数据库可以针对多个列构建复杂的索引,Hive不支持索引

C、Hive和传统关系数据库都支持分区

D、传统关系数据库很难实现横向扩展,Hive具有很好的水平扩展性

我的答案:B

63以下哪个不是Hive的用户接口模块:( )

A、PMI

B、HWI(Hive Web Interface)

C、JDBC/ODBC

D、Thrift Server

我的答案:A

64下面关于 zookeeper 的描述,错误的是

A、zookeeper是一个分布式小文件存储系统

B、zookeeper可以为其他软件进行选主服务

C、zookeeper中的znode共用有两种类型

D、在Dubbo中,zookeeper提供了注册中心服务

我的答案:C

65下面属于 zookeeper 特殊的性质有

A、提供了抽象为目录树的文件系统

B、支持小文件存储

C、事务性请求由老大统一处理

D、目录树中节点兼具目录和文件特点

我的答案:D

66 Zookeeper 中为什么会有 Leader

A、统一管理

B、一台机器操作,其他集群都可以共享

C、提高性能

D、以上说法都正确

我的答案:D

67在安装hdfs时其中fs.defaultFS+是配置在下列哪个文件( )

A、core-site.xml

B、hdfs-site.xml

C、mapred-site.xml

D、yarn-site.xml

我的答案:A

68在安装Hadoop时,需要配置Hadoop依赖的JAVA_HOME配置项是属于以下哪个文件( )

A、core-site.xml

B、hdfs-site.xml

C、mapred-site.xml

D、hadoop-env.sh

我的答案:D

69在Hadoop中,端口9870默认是Hadoop哪个服务的端口?

A、Namenode

B、DataNode

C、SecondNameNode

D、Yarn

我的答案:A

70想要修改Hadoop上的HDFS默认副本数需要修改修改哪个配置文件的配置项?

A、slaves

B、hadoop-env.sh

C、hdfs-site.xml

D、core-site.xml

我的答案:C

71下面哪个目录保存了Hadoop集群的配置文件( )

A、bin

B、sbin

C、etc/hadoop

D、share

我的答案:C

72 Hadoop有三种安装模式,下列安装模式中没有HDFS、只能测试MapReduce程序是( )

A、单机模式

B、伪分布式模式

C、完全分布式模式

D、分布模式

我的答案:A

73Hadoop完全分布模式配置免密登录是要?( )

A、实现主节点到其他节点免密登录

B、实现从节点到其他节点免密登录

C、主节点和从节点任意两个节点之间免密登录

D、以上都正确

我的答案:C

6 HBase依赖( )提供消息通信机制

我的答案:Zookeeper

7 HBase 靠( )存储底层数据依

我的答案:HDFS

以下哪一项不属于 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

下列哪项通常是集群的最主要瓶颈 __C。

A. CPU

B. 网络

C. 磁盘 IO

D. 内存

下列关于 MapReduce 说法不正确的是 ____C。

A. MapReduce 是一种计算框架

B. MapReduce 来源于 google 的学术论文

C. MapReduce 程序只能用 java 语言编写

D. MapReduce 隐藏了并行计算的细节,方便使用

四、关于 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配置

6、下列关于 Hadoop API 的说法错误的是

A. Hadoop 的文件 API 不是通用的,只用于 HDFS文件系统

B. Configuration 类的默认实例化方法是以 HDFS系统的资源配置为基础的

C. FileStatus 对象存储文件和目录的元数据

D. FSDataInputStream 是 java.io.DataInputStream 的子类

答案: A

//HDFS

10、出现在 datanode 的 VERSION文件格式中但不出现在 namenode的 VERSION

文件格式中的是

A. namespaceID

B. storageID

C. storageType

D. layoutVersion

答案: B

知识点:其他三项是公有的。 layoutVersion 是一个负整数,保存了 HDFS的持

续化在硬盘上的数据结构的格式版本号; namespaceID是文件系统的唯一标识符,

是在文件系统初次格式化时生成的; storageType 表示此文件夹中保存的是数据

节点的类型

11、Client 在 HDFS上进行文件写入时, namenode根据文件大小和配置情况, 返

回部分 datanode 信息,谁负责将文件划分为多个 Block ,根据

8、HDFS的 namenode保存了一个文件包括哪些数据块, 分布在哪些数据节点上,这些信息也存储在硬盘上。

A.正确

B.错误

答案: B

知识点:在系统启动的时候从数据节点收集而成的

9、Secondary namenode就是 namenode出现问题时的备用节点

A.正确

B.错误

答案: B

知识点: 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命令

五、MapReduce

19、下列关于 HDFS为存储 MapReduce并行切分和处理的数据做的设计,错误的

是A. FSDataInputStream 扩展了 DataInputStream 以支持随机读

B. 为实现细粒度并行,输入分片 (Input Split) 应该越小越好

C. 一台机器可能被指派从输入文件的任意位置开始处理一个分片

D. 输入分片是一种记录的逻辑划分, 而 HDFS数据块是对输入数据的物理分割

答案: B

知识点:每个分片不能太小, 否则启动与停止各个分片处理所需的开销将占很大

一部分执行时间

1、大数据主要解决的是_海量数据的采集__、__存储_和_分析计算问题__。

2、Hadoop是一个由Apache基金会所开发的___分布式系统基础架构___。

3、在Hadoop2.x时代,增加了Yarn。Yarn只负责资源的调度 , __MapReduce___只负责运算。

4、Hadoop3.x最少需要___3___台主机。

5、在HDFS中的/file目录下创建一个名为“hell_HDFS”的目录的hadoop命令是______。

6、Spark数据查询的模块是__Spark SQL____。

7、Hive查询语句select  substr(‘hello_hive’, 5,1)输出内容是__o___。

8、Hadoop生态圈中是一个分布式、面向列的开源数据库是__ HBase ____。

9、ZooKeeper是一个高可用的__分布式数据管理___和协调框架。

请简述Hadoop的优势,并对作简要说明。

高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失

  高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点

  高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。

  高容错性:能够自动将失败的任务重新分配

请列出Hadoop生态圈中10个组件,并对组件作简要说明。

HDFS:分布式文件系统

YARN:资源管理和调度器

MapReduce:分布式并行编程模型

HBase:Hadoop上的非关系型的分布式数据库

Hive:Hadoop上的数据仓库

Flume:一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统

Sqoop:用于在Hadoop与传统数据库之间进行数据传递

Zookeeper:提供分布式协调一致性服务

Ambar:Hadoop快速部署工具,支持Apache Hadoop集群的供应、管理和监控

Mahout:提供一些可扩展的机器学习领域经典算法的实现

Apache Hive是一款的开源数据仓库系统,用于访问和分析存储在Hadoop文件中的大型数据集。请使用HQL语句创建一个库名为“data_base”的数据库创建者为“linda”,并在库中创建一个表名为“employees_tb”的表,表中的字段包括工号、姓名、生日、手机号、部门、职务,字段之间的分隔符为“,”。

HDFS是一个分布式文件系统。既然是文件系统,就可以对其文件进行操作。例如,新建文件夹、删除文件、上传文件、读取文件内容、下载文件、列出目录等。hdfs模块是Python提供的第三方模块,它提供了直接对Hadoop中HDFS操作的能力,hdfs模块是HDFS的API和命令行接口。使用hdfs模块实现列出HDFS目录的API程序代码编程,需要实现时间戳的转换、文件大小单位转换。

class HDFS_OP(object):

    def convert_size(self, text):

        units = ["B", "KB", "MB", "GB", "TB", "PB"]

        size = 1024

        for i in range(len(units)):

            if (text / size)

                return "%.2f%s" % (text, units[i])

            text = text / size

    def timeStamp(self, timeNum):

        timeStamp = float(timeNum / 1000)

        timeArray = time.localtime(timeStamp)

        otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)

        return otherStyleTime

    def dir_f_list(self, df_path):

        try:

            list_dir = dict(client.list(hdfs_path=df_path, status=True))

        except hdfs.util.HdfsError as e:

            return e

        else:

            df_list = [dict(

                dfname=v['pathSuffix'],

                size=self.convert_size(v['length']),

                modifitime=self.timeStamp(v['modificationTime']),

                type=v['type'],

                blocksize=self.convert_size(v['blockSize']),

                replication=v['replication'],

                dir_path=df_path,

            )

                for v in list_dir.values()

            ]

            return df_list

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 1.x默认 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 部署到一个节点。

判断题:

Ganglia 不仅可以进行监控,也可以进行告警。 ( 正确)

Block Size 是不可以修改的。(错误 )

Nagios 不可以监控 Hadoop 集群,因为它不提供 Hadoop 支持。(错误 )

如果 NameNode 意外终止, SecondaryNameNode 会接替它使集群继续工作。

(错误 )

Cloudera CDH 是需要付费使用的。(错误 )

Hadoop 是 Java 开发的,所以 MapReduce 只支持 Java 语言编写。(错误 )

Hadoop 支持数据的随机读写。(错 )

Hadoop 自身具有严格的权限管理和安全措施保障集群正常运行。 (错误 )

hadoopdfsadmin –report 命令用于检测 HDFS 损坏块。(错误 )

Hadoop3.1.3 默认调度器策略为 FIFO(错 )

集群内每个节点都应该配 RAID,这样避免单磁盘损坏, 影响整个节点运行。

(错误 )

因为 HDFS 有多个副本,所以 NameNode 是不存在单点问题的。(错误 )

每个 map 槽就是一个线程。(错误 )

Mapreduce 的 input split 就是一个 block 。(错误 )

HDFS的namenode保存了一个文件包括哪些数据块,分布在哪些数据节点上,这些信息也存储在硬盘上。

A.正确

B.错误

答案:B

知识点:在系统启动的时候从数据节点收集而成的

Secondary namenode就是namenode出现问题时的备用节点

A.正确

B.错误

答案:B

知识点:它和元数据节点负责不同的事情。其主要功能就是周期性将元数据节点的命名空间镜像文件和修改日志合并,以防日志文件过大。合并过后的命名空间镜像文件也在Secondary namenode保存了一份,以防namenode失败的时候,可以恢复。

四、判断题

4 Apache Sqoop是在Hadoop生态体系和RDBMS体系之间传送数据的一种工具。

我的答案: √

5 Sqoop是实现Hadoop生态系统与关系数据库之间传送数据的一种客户端 工具。

我的答案: ×

6 Sqoop2支持将关系数库的内容导入到Hive或HBase.

我的答案: √

7 HBase 中的数据都是字节,且有各种类型。

我的答案: ×

判断题:

Nagios 不可以监控 Hadoop 集群,因为它不提供 Hadoop 支持。(错误 )

分析:Nagios是集群监控工具,而且是云计算三大利器之一

如果 NameNode 意外终止,SecondaryNameNode 会接替它使集群继续工作。(错误 )

分析:SecondaryNameNode是帮助恢复,而不是替代,如何恢复,可以查看

Cloudera CDH 是需要付费使用的。(错误 )

分析:第一套付费产品是Cloudera Enterpris,Cloudera Enterprise在美国加州举行的 Hadoop 大会 (Hadoop Summit) 上公开,以若干私有管理、监控、运作工具加强 Hadoop 的功能。收费采取合约订购方式,价格随用的 Hadoop 叢集大小变动。

Hadoop 是 Java 开发的,所以 MapReduce 只支持 Java 语言编写。(错误 )

分析:rhadoop是用R语言开发的,MapReduce是一个框架,可以理解是一种思想,可以使用其他语言开发。

Hadoop 支持数据的随机读写。(错 )

NameNode 负责管理 metadata,client 端每次读写请求,它都会从磁盘中读取或则会写入 metadata 信息并反馈 client 端。(错误)

1.Cloudera CDH是需要付费使用的。(×)

2.JobTracher是HDFS的重要角色。(×)

3.在Hadoop集群中,NameNode负责管理所有DataNode。(√)

5.Hadoop使用Java语言开发的。(√)

6.Hadoop是Java语言开发的,因此在搭建Hadoop集群时,需要为集群安装JDK环境变量。(√)

7.伪分布式模式下的Hadoop功能与完全分布式模式下的Hadoop功能相同。(√)

8.启动Hadoop集群服务之前需要格式化文件系统。(√)

9.Hadoop存在多个副本,且默认备份数量是3。(√)

10.配置Hadoop集群只需要修改cor-site.xml配置文件就可以。(×)

11.Secondary NameNode是NameNode的备份,可以有效解决Hadoop集群单点故障问题。(×)

12.NameNode负责管理元数据,客户端每次读写请求时,都会从磁盘中读取或写入元数据信息并反馈给客户端。(√)

13.NameNode本地磁盘保存了数据块的位置信息。(×)

14.Map阶段处理数据时,是按照key的哈希值与ReduceTask数量取模进行分区的规则。(√)

15.分区数量是ReduceTask的数量。(√)

16.在MapReduce程序中,必须开发Map和Reduce相应的业务代码才能执行程序。(×)

17.Zookeeper对节点的Watch监听通知是永久性的。(×)

18.Zookeeper集群宕机数超过集群一半,则Zookeeper服务器失效。(√)

19.Zookeeper可以作为文件存储系统,因此可以将大规模数据文件存在此系统中。(×)

21.NodeManager是每个节点上的资源和任务管理器。(√)

22.Hadoop HA是集群中启动两台或两台以上机器充当NameNode,避免一台NameNode节点发生故障导致整个集群不可使用的情况。(√)

23.Hadoop HA是两台NameNode同时执行NameNode角色的工作。(×)

24.在Hadoop HA中Zookeeper集群为每个NameNode都分配了一个故障恢复控制器,该控制器用于监控NameNode的健康状态。(√)

25.Hive使用length()函数可以求出输出的数量。(×)

26.创建外部表时要加载数据文件,数据文件会移动到数据仓库指定的目录下。(×)

27.Hive是一款独立的数据仓库工具,因此在启动前无须启动任何服务。(×)

28.Hive默认不支持动态分区功能,需要手动设置动态分区参数开启功能。(√)

29.Hive分区字段不能与已存在字段重复,且分区字段是一个虚拟字段,它不存放任何数据,该数据来源于装载分区表时所指定的数据文。(√)

30.Flume Agent是一个JVM进程,它承载着数据从外部源流向下一个目标的三个核心组件是Source、Channel和Sink。(√)

31.Taildir Source用于观察指定的文件,可以实时监测到添加到每个文件的新行,如果文件正在写入新行,则此采集器将重试采集它们以待写入完成。(√)

32.Flume采集方案的名称、位置以及sources、channels、sinks参数配置信息可以任意定义。(×)

33.在整个数据传输的过程中,Flume将流动的数据封装到一个event(事件)中,它是Flume内部数据传输的基本单元。(√)

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]