Hadoop大数据基础与应用(习题答案).docx
《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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Hadoop 数据 基础 应用 习题 答案