大数据面试题个人整理(一)

大数据面试题个人整理(一)
Hadoop相关试题
1、MapTask并行机度是由什么决定的?
由切片数量决定
2、MR是干什么的?
MR是将用户编写的业务逻辑代码和自带的默认组件结合起来组成一个完整的分布式应用程序放到Hadoop集群上运行。它是分布式离线计算框架。
3、combiner和partition的作用
combiner是将mapTask的输出进行局部汇总,以减少网络传输。
partition的默认实现是hashpartition,它的作用是将数据分到不同的reduce进行计算,加快计算效率。
4、什么是Shuffle?
map阶段处理的数据如何传递给reduce阶段,是mapreduce中最重要的一个流程,这个流程就叫做shuffle.
具体来说,shuffle就是将maptask输出的结果数据,分发到reducetask,分发过程中,对数据按key进行了分区和排序。
5、什么是yarn?
Yarn是一个资源调度平台,负责为运算程序提供服务和资源调配,相当于一个分布式操作系统平台,而mapreduce就相当于是运行在操作系统上的应用程序。
6、namenode的safemode是怎么回事,什么是安全模式?
安全模式就是HDFS所出的一种特殊状态,在这种状态下,文件系统只接受读数据请求,不接受删除,修改等变更请求。在namenode主节点启动时,HDFS首先进入安全模式,Datanode在启动时候会向namenode发送可用block状态信息,当整个系统达到安全标准时,HDFS自动离开安全模式。如果HDFS处于安全模式下,则文件block块不能进行任何的副本复制操作,因此达到最小的副本要求是基于DataNode启动时的状态来判定的,启动时不会再做任何的复制(从而达到最小副本数量要求)
7、NameNode职责?

  1. 负责客户端请求的响应
  2. 负责元数据的管理

8、元数据的存储机制?
A. 内存中有一份完整的元数据
B.磁盘中有一份准完整的元数据镜像(fsimage)文件,储存在namenode的工作目录中
C.用于衔接内存metadata和持久化元数据镜像fsimage之间的操作日志(edits文件)

9、元数据的checkpoint机制是什么?
每隔一段时间,会由secondaryNamenode将namenode上积累的所有edits和一个最新的fsimage下载到本地,并加载到内存进行merge合并,这个过程称之为checkpoint。

10、SecondaryNamenode的职责,工作原理是什么?
功能:辅助的Namenode
周期性将Editslog文件合并

fsimage : 保存了最新的元数据检查点
edits : 保存了最新检查点之后的命名空间变化(即文件的操作)

工作原理:从最新检查点后,hadoop将对每个文件的操作都保存在edits中,为了避免edits不断增大,SecondaryNamenode就会周期性合并fsimage和edits成新的fsimage,edits再记录最新的变化。
注:这种机制有个问题,因edits存放于Namenode中,当Namenode挂掉,edits也会丢失,导致利用SecondaryNamenode恢复时,会有部分数据丢失。

checkpoint的附带作用:
Namenode和SecondaryNamenode的工作原理,储存结构完全相同,当namenode故障退出需重新恢复时,可以从Secondarynamenode的工作目录中将fsimage拷贝到namenode的工作目录,以恢复namenode的元数据(不全)

11、Datanode的工作职责?
A.存储管理用户的文件块数据
B.定期向namenode汇报自身所持有的block信息(通过心跳信息上报)
Datanode掉线时限参数(可配置hdfs-site.xml)

12、一个datanode 宕机,怎么一个流程恢复?
Datanode宕机了后,如果是短暂的宕机,可以实现写好脚本监控,将它启动起来。如果是长时间宕机了,那么datanode上的数据应该已经被备份到其他机器了,
那这台datanode就是一台新的datanode了,删除他的所有数据文件和状态文件,重新启动

13、hadoop 的 namenode 宕机,怎么解决?
先分析宕机后的损失,宕机后直接导致client无法访问,内存中的元数据丢失,但是硬盘中的元数据应该还存在,如果只是节点挂了,
重启即可,如果是机器挂了,重启机器后看节点是否能重启,不能重启就要找到原因修复了。
但是最终的解决方案应该是在设计集群的初期就考虑到这个问题,做namenode的HA。
(NameNode High Availability即高可用)
hadoop2中的高可靠性是指同时启动两个NameNode,其中一个处于工作状态,一个处于随时待命状态。这样,当一个NameNode所在的服务器宕机时,可以在数据不丢失的情况下, 手工或者自动切换到另一个NameNode提供服务。

这些NameNode之间通过共享数据,保证数据的状态一致。多个NameNode之间共享数据,可以通过Nnetwork File System或者Quorum Journal Node。前者是通过linux共享的文件系统,属于操作系统的配置;后者是hadoop自身的东西,属于软件的配置。

集群启动时,可以同时启动2个NameNode。这些NameNode只有一个是active的,另一个属于standby状态。active状态意味着提供服务,standby状态意味着处于休眠状态,只进行数据同步,时刻准备着提供服务

为什么要Namenode HA?

  1. NameNode High Availability即高可用。

  2. NameNode 很重要,挂掉会导致存储停止服务,无法进行数据的读写,基于此NameNode的计算(MR,Hive等)也无法完成。

你可能感兴趣的:(大数据,面试)