大数据面试题剖析.docx

上传人:b****4 文档编号:4855523 上传时间:2022-12-10 格式:DOCX 页数:11 大小:24.49KB
下载 相关 举报
大数据面试题剖析.docx_第1页
第1页 / 共11页
大数据面试题剖析.docx_第2页
第2页 / 共11页
大数据面试题剖析.docx_第3页
第3页 / 共11页
大数据面试题剖析.docx_第4页
第4页 / 共11页
大数据面试题剖析.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

大数据面试题剖析.docx

《大数据面试题剖析.docx》由会员分享,可在线阅读,更多相关《大数据面试题剖析.docx(11页珍藏版)》请在冰豆网上搜索。

大数据面试题剖析.docx

大数据面试题剖析

单项选择题

1.下面哪个程序负责HDFS数据存储。

  a)NameNode

  b)Jobtracker

  c)Datanode

  d)secondaryNameNode

  e)tasktracker

2.HDfS中的block默认保存几份?

  a)3份

  b)2份

  c)1份

  d)不确定

3.下列哪个程序通常与NameNode在一个节点启动?

  a)SecondaryNameNode

  b)DataNode

  c)TaskTracker

  d)Jobtracker

1

4.Hadoop作者

  a)MartinFowler

  b)KentBeck

  c)Dougcutting

5.HDFS默认BlockSize

  a)32MB

  b)64MB

  c)128MB

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

  a)CPU

  b)网络

  c)磁盘

  d)内存

7.关于SecondaryNameNode哪项是正确的?

  a)它是NameNode的热备

  b)它对内存没有要求

2

  c)它的目的是帮助NameNode合并编辑日志,减少NameNode启动时

  d)SecondaryNameNode应与NameNode部署到一个节点

多选题

8.下列哪项可以作为集群的管理工具

  a)Puppet

  b)Pdsh

  c)ClouderaManager

  d)d)Zookeeper

9.配置机架感知的下面哪项正确

  a)如果一个机架出问题,不会影响数据读写

  b)写入数据的时候会写到不同机架的DataNode中

  c)MapReduce会根据机架获取离自己比较近的网络数据

10.Client端上传文件的时候下列哪项正确

  a)数据经过NameNode传递给DataNode

  b)Client端将文件切分为Block,依次上传

3

  c)Client只上传数据到一台DataNode,然后由NameNode负责Block复制工作

11.下列哪个是Hadoop运行的模式

  a)单机版

  b)伪分布式

  c)分布式

12.Cloudera提供哪几种安装CDH的方法

  a)Clouderamanager

  b)Tarball

  c)Yumd)Rpm

判断题

13.Ganglia不仅可以进行监控,也可以进行告警。

()

14.BlockSize是不可以修改的。

()

15.Nagios不可以监控Hadoop集群,因为它不提供Hadoop支持。

()

4

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

()

17.ClouderaCDH是需要付费使用的。

()

18.Hadoop是Java开发的,所以MapReduce只支持Java语言编写。

()

19.Hadoop支持数据的随机读写。

()

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

()

21.NameNode本地磁盘保存了Block的位置信息。

()

22.DataNode通过长连接与NameNode保持通信。

()

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

()

5

24.Slave节点要存储数据,所以它的磁盘越大越好。

()

25.hadoopdfsadmin–report命令用于检测HDFS损坏块。

()

26.Hadoop默认调度器策略为FIFO()

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

()

28.因为HDFS有多个副本,所以NameNode是不存在单点问题的。

()

29.每个map槽就是一个线程。

()

30.Mapreduce的inputsplit就是一个block。

()

31.NameNode的WebUI端口是50030,它通过jetty启动的Web服务。

()

32.Hadoop环境变量中的HADOOP_HEAPSIZE用于设置所有Hadoop守护线程的内存。

它默认是200GB。

()

6

33.DataNode首次加入cluster的时候,如果log中报告不兼容文件

版本,那需要NameNode执行“Hadoopnamenode-format”操作格式化磁盘。

()

别走开,答案在后面哦!

答案

单选题

1.下面哪个程序负责HDFS数据存储。

答案Cdatanode  a)NameNode

  b)Jobtracker

  c)Datanode

  d)secondaryNameNode

  e)tasktracker

2.HDfS中的block默认保存几份?

答案A默认3分

7

  a)3份

  b)2份

  c)1份

  d)不确定

3.下列哪个程序通常与NameNode在一个节点启动?

答案D

  a)SecondaryNameNode

  b)DataNode

  c)TaskTracker

  d)Jobtracker

此题分析:

  

hadoop的集群是基于master/slave模式,namenode和jobtracker属于

master,datanode和tasktracker属于slave,master只有一个,而slave有多

个SecondaryNameNode内存需求和NameNode在一个数量级上,所以通常

secondaryNameNode(运行在单独的物理机器上)和NameNode运行在不同的机器上。

JobTracker和TaskTracker

8

JobTracker对应于NameNode

TaskTracker对应于DataNode

DataNode和NameNode是针对数据存放来而言的

JobTracker和TaskTracker是对于MapReduce执行而言的

mapreduce中几个主要概念,mapreduce整体上可以分为这么几条执行线索:

obclient,JobTracker与TaskTracker。

1、JobClient会在用户端通过JobClient类将应用已经配置参数打包成jar

文件存储到hdfs,并把路径提交到Jobtracker,然后由JobTracker创建每一个

Task(即MapTask和ReduceTask)并将它们分发到各个TaskTracker服务中去执行。

2、JobTracker是一个master服务,软件启动之后JobTracker接收Job,负

责调度Job的每一个子任务task运行于TaskTracker上,并监控它们,如果发现

有失败的task就重新运行它。

一般情况应该把JobTracker部署在单独的机器上。

3、TaskTracker是运行在多个节点上的slaver服务。

TaskTracker主动与

JobTracker通信,接收作业,并负责直接执行每一个任务。

TaskTracker都需

9

要运行在HDFS的DataNode上。

4.Hadoop作者答案CDougcutting

  a)MartinFowler

  b)KentBeck

  c)Dougcutting

5.HDFS默认BlockSize答案:

B

  a)32MB

  b)64MB

  c)128MB

  (因为版本更换较快,这里答案只供参考)

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

答案:

C磁盘  a)CPU

  b)网络

  c)磁盘IO

  d)内存

1

0

该题解析:

首先集群的目的是为了节省成本,用廉价的pc机,取代小型机及大型机。

小型机和大型机有什么特点?

1.cpu处理能力强

2.内存够大

所以集群的瓶颈不可能是a和d

  

3.网络是一种稀缺资源,但是并不是瓶颈。

4.由于大数据面临海量数据,读写数据都需要io,然后还要冗余数据,hadoop一般备3份数据,所以IO就会打折扣。

7.关于SecondaryNameNode哪项是正确的?

答案C

  a)它是NameNode的热备

  b)它对内存没有要求

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

1

1

  d)SecondaryNameNode应与NameNode部署到一个节点。

多选题

8.下列哪项可以作为集群的管理?

答案:

ABD

  a)Puppet

  b)Pdsh

  c)ClouderaManager

  d)Zookeeper

9.配置机架感知的下面哪项正确:

答案ABC

  a)如果一个机架出问题,不会影响数据读写

  b)写入数据的时候会写到不同机架的DataNode中

  c)MapReduce会根据机架获取离自己比较近的网络数据

10.Client端上传文件的时候下列哪项正确?

答案B

  a)数据经过NameNode传递给DataNode

  b)Client端将文件切分为Block,依次上传

  c)Client只上传数据到一台DataNode,然后由NameNode负责Block复制工作

1

2

该题分析:

Client向NameNode发起文件写入的请求。

NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息。

Client将文件划分为多个Block,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。

11.下列哪个是Hadoop运行的模式:

答案ABC

  a)单机版

  b)伪分布式

  c)分布式

12.Cloudera提供哪几种安装CDH的方法?

答案:

ABCD

  a)Clouderamanager

  b)Tarball

  c)Yum

1

3

  d)Rpm

判断题

13.Ganglia不仅可以进行监控,也可以进行告警。

(正确)

分析:

此题的目的是考Ganglia的了解。

严格意义上来讲是正确。

ganglia

作为一款最常用的Linux环境中的监控软件,它擅长的的是从节点中按照用户

的需求以较低的代价采集数据。

但是ganglia在预警以及发生事件后通知用户

上并不擅长。

最新的ganglia已经有了部分这方面的功能。

但是更擅长做警告

的还有Nagios。

Nagios,就是一款精于预警、通知的软件。

通过将Ganglia和

Nagios组合起来,把Ganglia采集的数据作为Nagios的数据源,然后利用Nagios来发送预警通知,可以完美的实现一整套监控管理的系统。

14.BlockSize是不可以修改的。

(错误)

分析:

它是可以被修改的Hadoop的基础配置文件是hadoop-default.xml,

默认建立一个Job的时候会建立Job的Config,Config首先读入hadoop-

default.xml的配置,然后再读入hadoop-site.xml的配置(这个文件初始的时

候配置为空),hadoop-site.xml中主要配置需要覆盖的hadoop-default.xml的

1

4

系统级配置。

15.Nagios不可以监控Hadoop集群,因为它不提供Hadoop支持。

(错误)

分析:

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

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

(错误)

分析:

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

17.ClouderaCDH是需要付费使用的。

(错误)

分析:

第一套付费产品是ClouderaEnterpris,ClouderaEnterprise在

美国加州举行的Hadoop大会(HadoopSummit)上公开,以若干私有管理、

监控、运作工具加强Hadoop的功能。

收费采取合约订购方式,价格随用的Hadoop叢集大小变动。

1

5

18.Hadoop是Java开发的,所以MapReduce只支持Java语言编写。

(错误)

分析:

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

19.Hadoop支持数据的随机读写。

(错)

分析:

lucene是支持随机读写的,而hdfs只支持随机读。

但是HBase可以

来补救。

HBase提供随机读写,来解决Hadoop不能处理的问题。

HBase自底层设

计开始即聚焦于各种可伸缩性问题:

表可以很“高”,有数十亿个数据行;也

可以很“宽”,有数百万个列;水平分区并在上千个普通商用机节点上自动复

制。

表的模式是物理存储的直接反映,使系统有可能提高高效的数据结构的序列化、存储和检索。

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

(错误)

此题分析:

  

1

6

NameNode不需要从磁盘读取metadata,所有数据都在内存中,硬盘上的只是序列化的结果,只有每次namenode启动的时候才会读取。

1)文件写入

Client向NameNode发起文件写入的请求。

NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息。

Client将文件划分为多个Block,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。

2)文件读取Client向NameNode发起文件读取的请求。

21.NameNode本地磁盘保存了Block的位置信息。

(个人认为正确,欢迎提出其它意见)

分析:

DataNode是文件存储的基本单元,它将Block存储在本地文件系统

中,保存了Block的Meta-data,同时周期性地将所有存在的Block信息发送给

1

7

NameNode。

NameNode返回文件存储的DataNode的信息。

Client读取文件信息。

22.DataNode通过长连接与NameNode保持通信。

()

这个有分歧:

具体正在找这方面的有利资料。

下面提供资料可参考。

首先明确一下概念:

(1).长连接Client方与Server方先建立通讯连接,连接建立后不断开,然

后再进行报文发送和接收。

这种方式下由于通讯连接一直存在,此种方式常用于点对点通讯。

(2).短连接Client方与Server每进行一次报文收发交易时才进行通讯连接,

交易完毕后立即断开连接。

此种方式常用于一点对多点通讯,比如多个Client连接一个Server.

23.Hadoop

(错误)

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

hadoop只能阻止好人犯错,但是不能阻止坏人干坏事

1

8

24.Slave节点要存储数据,所以它的磁盘越大越好。

(错误)

分析:

一旦Slave节点宕机,数据恢复是一个难题

25.hadoopdfsadmin–report命令用于检测HDFS损坏块。

(错误)

26.Hadoop默认调度器策略为FIFO(正确)

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

(错误)

分析:

首先明白什么是RAID,可以参考百科磁盘阵列。

这句话错误的地方

在于太绝对,具体情况具体分析。

题目不是重点,知识才是最重要的。

因为

hadoop本身就具有冗余能力,所以如果不是很严格不需要都配备RAID。

具体参考第二题。

28.因为HDFS有多个副本,所以NameNode是不存在单点问题的。

(错误)

1

9

29.每个map槽就是一个线程。

(错误)

分析:

首先我们知道什么是map槽,map槽->mapslotmapslot只是一个

逻辑值(

org.apache.hadoop.mapred.TaskTracker.TaskLauncher.numFreeSlots),而不是对应着一个线程或者进程

30.Mapreduce的inputsplit就是一个block。

(错误)

31.NameNode的WebUI端口是50030,它通过jetty启动的Web服务。

(错误)

32.Hadoop环境变量中的HADOOP_HEAPSIZE用于设置所有Hadoop守护线程的内存。

它默认是200GB。

(错误)

hadoop为各个守护进程

(namenode,secondarynamenode,jobtracker,datanode,tasktracker)统一分配

的内存在hadoop-env.sh中设置,参数为HADOOP_HEAPSIZE,默认为1000M。

33.DataNode首次加入cluster的时候,如果log中报告不兼容文件

2

0

版本,那需要NameNode执行“Hadoopnamenode-format”操作格式化磁盘。

(错误)

分析:

首先明白介绍,什么ClusterID

ClusterID

添加了一个新的标识符ClusterID用于标识集群中所有的节点。

当格式化

1个Namenode,需要提供这个标识符或者自动生成。

这个ID可以被用来格式化加入集群的其他Namenode。

2次整理

有的同学问题的重点不是上面分析内容:

内容如下:

这个报错是说明DataNode所装的Hadoop版本和其它节点不一致,应该检查DataNode的Hadoop版本

2

1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1