Hadoop大数据基础与应用(习题答案).docx

上传人:王** 文档编号:894530 上传时间:2024-02-22 格式:DOCX 页数:16 大小:85.46KB
下载 相关 举报
Hadoop大数据基础与应用(习题答案).docx_第1页
第1页 / 共16页
Hadoop大数据基础与应用(习题答案).docx_第2页
第2页 / 共16页
Hadoop大数据基础与应用(习题答案).docx_第3页
第3页 / 共16页
Hadoop大数据基础与应用(习题答案).docx_第4页
第4页 / 共16页
Hadoop大数据基础与应用(习题答案).docx_第5页
第5页 / 共16页
Hadoop大数据基础与应用(习题答案).docx_第6页
第6页 / 共16页
Hadoop大数据基础与应用(习题答案).docx_第7页
第7页 / 共16页
Hadoop大数据基础与应用(习题答案).docx_第8页
第8页 / 共16页
Hadoop大数据基础与应用(习题答案).docx_第9页
第9页 / 共16页
Hadoop大数据基础与应用(习题答案).docx_第10页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Hadoop大数据基础与应用(习题答案).docx》由会员分享,可在线阅读,更多相关《Hadoop大数据基础与应用(习题答案).docx(16页珍藏版)》请在优知文库上搜索。

1、第1章Hadoop技术概述1 .Hadoop2.0包含哪些核心组件?MapReduceHDFS、YARN2 .Hadoop包含哪些优势?方便、弹性、健壮、简单3 .Hadoop有哪些应用领域?运营商、电子商务、在线旅游、欺诈检测、医疗保健、能源开采、金融、直播、在线教育等等4 .Hadoop有几种运行模式?单机模式、伪分布模式、完全分布式模式5 .Had。P伪分布集群包含哪些守护进程?DataNOde、NodeManagerResourceManagerSecondaryNameNodeNameNode第2章HadOOP分布式文件系统(HDFS)1 .简述HDFS的设计理念?HDFS的设计理念

2、来源于非常朴素的思想:即当数据文件的大小超过单台计算机的存储能力时,就有必要将数据文件切分并存储到由若干台计算机组成的集群中,这些计算机通过网络进行连接,而HDFS作为一个抽象层架构在集群网络之上,对外提供统一的文件管理功能,对于用户来说就感觉像在操作一台计算机一样,根本感受不到HDFS底层的多台计算机,而且HDFS还能够很好地容忍节点故障且不丢失任何数据。2 .简述FSImage和EditLog的合并过程?FSlmage和EditLog合并的详细步骤如下所示。(1) SecondaryNameNode(即从元数据节点)引导NameNode(即元数据节点)滚动更新EditLog,并开始将新的E

3、ditLog写进edits.newo(2)SeCondaryNameNOde将NameNode的FSlmage(fsimage)和EditLOg(edits)复制到本地的检查点目录。(3) SeCOndaryNameNode将FSlmage(fsimage)导入内存,并回放EditLOg(edits),将其合并到FSImage(fsimage.ckpt),并将新的FSImage(fsimage.ckpt)压缩后写入磁盘。(4) SeCOndaryNameNode将新的FSlmage(fsimage.ckpt)传回NameNodeo(5) NameNOde在接收新的FSImage(fsimage

4、.ckpt)后,将fsimage.ckpt替换为fsimage,然后直接加载和启用该文件。(6) NameNOde将新的EditLOg(即edits.new)更名为EditLog(即edits)默认情况下,该过程1小时发生一次,或者当EditLog达到默认值(如64MB)也会触发,具体控制参数可以通过配置文件进行修改。3.简述HDFS的数据读写流程?HDFS读取数据流程主要包括以下几个步骤。1 .客户端通过调用FiIeSystem对象的open()方法来打开希望读取的文件,对于HDFS来说,这个对象是DiStribUtedFiIeSyStem的一个实例。数据节点数据节点数据节点图2-4客户端读

5、取HDFS中的数据2 .DistributedFiIeSystem通过RPC获得文件的笫一批块的位置信息(LoCatiOns),同一个块按照重复数会返回多个位置信息,这些位置信息按照HadOoP拓扑结构排序,距离客户端近的排在前面。3 .前两步会返回一个文件系统数据输入流(FSDatalnPUtStream)对象,该对象会被封装为分布式文件系统输入流(DFSInputStream)对象,DFSInputStream可以方便地管理DataNode和NameNode数据流。客户端调用read()方法,DFSInputStream会找出离客户端最近的DataNode并连接O4 .数据从DataNod

6、e源源不断地流向客户端。5 .如果第一个块的数据读完了,就会关闭指向第一个块的DataNode的连接,接着读取下一个块。这些操作对客户端来说是透明的,从客户端的角度来看只是在读一个持续不断的数据流。6 .如果笫一批块全部读完了,DFSInputStream就会去NameNode拿下一批块的位置信息,然后继续读。如果所有的块都读完了,这时就会关闭所有的流。HDFS的写入数据流程主要包括以下几个步躲。1.客户端通过调用DistributedFiIeSystem的Createo方法创建新文件。数据节点数据节点数据节点图2-5HDFS的写数据流程Z-DistributedFiIeSystem通过RPC

7、调用NameNode去创建一个没有块关联的新文件。在文件创建之前,NameNode会做各种校验,比如文件是否存在,客户端有无权限去创建等。如果校验通过,NameNode就会创建新文件,否则就会抛出I/O异常。3.前两步结束后,会返回文件系统数据输出流(FSDataOUtPUtStream)的对象,与读文件的时候相似,FSDataOutputStream被封装成分布式文件系统数据输出流(DFSOUtPlJtStream),DFSOutputStream可以协调NameNOde和DataNOde。客户端开始写数据到DFSOutputStream,DFSOutputStream会把数据切成一个个小的

8、数据包(PaCket),然后排成数据队列(dataquene)4.接下来,数据队列中的数据包首先传输到数据管道(多个数据节点组成数据管道)中的第一个DataNode中(写数据包),第一个DataNode又把数据包发送到第二个DataNode中,依次类推。SQFSOutputStream还维护着一个响应队列(ackquene),这个队列也是由数据包组成,用于等待DataNode收到数据后返回响应数据包,当数据管道中的所有DataNode都表示已经收到响应信息的时候,这时ackquene才会把对应的数据包移除掉。6 .客户端写数据完成后,会调用dose()方法关闭写入流。7 .客户端通知NameN

9、ode把文件标记为己完成,然后NameNode把文件写成功的结果反馈给客户端。此时就表示客户端己完成了整个HDFS的写数据流程。4 .简述HDFS的副本存储策略?新版本的副本存放策略的基本思想如下。副本1存放在Client所在的节点上(假设Client不在集群的范围内,则第一个副本存储节点是随机选取的,当然系统会尝试不选择那些太满或者太忙的节点)。副本2存放在与第一个节点不同机架中的一个节点中(随机选择)。副本3和副本2在同一个机架,随机放在不同的节点中。假设还有很多其他的副本,那么剩余的副本就随机放在集群的各个节点中。5 .简述HDFS的高可用原理?HDFS集群中通常由2台独立的机器来配置N

10、ameNode角色,无论在任何时候,集群中只能有一个NameNode是Active状态,而另一个NameNode是Standby状态。Active状态的NameNode作为主节点负责集群中所有客户端操作,Standby状态的NameNOde仅仅扮演一个备用节点的角色,以便于在ActiveNameNode挂掉时能第一时间接替它的工作成为主节点,从而使得NameNode达到一个热备份的效果。为了让主备NameNode的元数据保持一致,它们之间的数据同步通过JournaINode集群完成。当任何修改操作在主NameNode上执行时,它会将EditLog写到半数以上的JoUrnalNode节点中。当备

11、用NameNode监测到JournaINode集群中的EditLog发生变化时,它会读取JournaINode集群中的EditLog,然后同步到FSImage中。当发生故障造成主NameNode宕机后,备用NameNode在选举成为主NameNOde之前会同步JC)UrnaINode集群中所有的EditLog,这样就能保证主备NameNode的FSImage一致。新的ActiveNameNode会无缝接替主节点的职责,维护来自客户端的请求并接受来自DataNOde汇报的块信息,从而使得NameNode达到高可用的目的。为了实现主备NameNode故障自动切换,通过ZKFC对NameNode的主

12、备切换进行总体控制。每台运行NameNOde的机器上都会运行一个ZKFC进程,ZKFC会定期检测NameNode的健康状况。当ZKFC检测到当前主NameNode发生故障时,会借助Zookeeper集群实现主备选举,并自动将备用NameNode切换为Active状态,从而接替主节点的工作对外提供服务。第3章HadOOP资源管理系统(YARN)1 .简述YARN解决了哪些问题?YARN解决了MaPRedUCeLo扩展性差、资源利用率低、通用性差、单点故障问题。2 .简述YARN的基本架构与工作原理?YARN主要是由资源管理器(ReSOUrCeManager),节点管理器(NodeManager)

13、、应用程序管理器(AppIicationMaster)和相应的容器(Container)构成的。YARN的详细工作原理如下所示。(1)客户端(Client)向ResourceManager提交一个作业,作业包括AppIicationMaster程序、启动AppIicationMaster的程序和用户程序(如M叩RedUCe)。(2) ReSoUrCeManager会为该应用程序分配一个Container,它首先会跟NOdeManager进行通信,要求它在这个容器中启动应用程序的AppIicationMastero(3) AppIicationMaster一旦启动以后,它首先会向Resource

14、Manager注册,这样用户可以直接通过ResourceManager查看应用程序的运行状态,然后它将为各个任务申请资源并监控它们的运行状态,直到任务运行结束。它会以轮询的方式通过RPC协议向ResourceManager申请和领取资源,一旦APPliCatiOnMaSter申请到资源,它会与NOdeManager进行通信,要求它启动并运行任务。(4)各个任务通过RPC协议向APPIiCatiOnMaSter汇报自己的状态和进度,这样会让AppIicationMaster随时掌握各个任务的运行状态,一旦任务运行失败,AppIicationMaster就会重启该任务,重新申请资源。应用程序运行完

15、成后,AppIicationMaster就会向ResourceManager注销并关闭。在应用程序整个运行过程中,可以通过RPC协议向AppIicationMaster查询应用程序当前的运行状态,当然在YARN的Web界面也可以看到整个作业的运行状态。3 .简述YARN是如何实现容错的?YARN通过以下几个方面来保障容错性。I-ResourceManager的容错性保障ReSoUrCeManager存在单点故障,但是可以通过配置实现ResourceManager的HA(高可用),当主节点出现故障时,可以切换到备用节点继续对外提供服务。2.NodeManager的容错性保障NodeManager

16、失败之后,ResourceManager会将失败的任务通知对应的AppIicationMaster,由AppIicationMaster来决定如何去处理失败的任务。S-AppIicationMaster的容错性保障APPIiCationMaSter失败后,由ReSoUrCeManager负责重启即可。其中,AppIicationMaster需要处理内部任务的容错问题。ResourceManager会保存已经运行的任务,重启后无须重新运行。4 .简述YARN的高可用原理?ResourceManagerHA由-对ACtiVe,Standby结点构成,ReSoUrCeManager它有个基于Zookeeper的选举算法,来决定哪个ResourceManager是activ

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

当前位置:首页 > IT计算机 > 数据结构与算法

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!