《-大数据技术课件第4章PPT内容-.docx》由会员分享,可在线阅读,更多相关《-大数据技术课件第4章PPT内容-.docx(6页珍藏版)》请在优知文库上搜索。
1、“大数据技术课件第4章PPT内容“1、大数据技术与应用第4章HDFS分布式文件系统提纲O4.1HDFSe)4.2HDFS操作实践O习题O小结24.1HDFSHadooP分布式文件系统(HadooPDiStribUtedFiIeSyStem,HDFS)是Hadoop项目的核心子项目,它被设计成适合运行在通用硬件(CommOdityhardWare)上的分布式文件系统。34.1HDFSo4.2.1HDFSSheiIHDFS设计的前提和设计目标如下:U(I)硬件错误U流式数据访问U大规模数据集u(4)简洁的全都性模型u(5)移动计算比移动数据更划算u(6)异构软硬件平台间的可移植性但是HDFS也有自
2、2、己的劣势:u低时延长数据访问u小文件存储U并发写入、文件随机修改44.1HDFSo4.2.1HDFSSheIIHDFS设计的前提和设计目标如下:U硬件错误u(2)流式数据访问u(3)大规模数据集u(4)简洁的全都性模型U移动计算比移动数据更划算u(6)异构软硬件平台间的可移植性但是HDFS也有自己的劣势:U低时延长数据访问U小文件存储U并发写入、文件随机修改54.1HDFSo4.1.2Namenode和DatanodeHDFS采纳MaSter/Slave架构。一个HDFS集群是由一个Namenode和肯定数目54的Datane)des组成的3oHDFS暴露了文件系统的名字空间,用户能够以文
3、件的形式在上面存储数据,如下图所示。6图4-1HDFS架构图4-1HDFS架构图4-1HDFS架构图4-1HDFS架构图4-1HDFS架构图4-1HDFS架构图4-1HDFS架构图4-1HDFS架构图4-1HDFS架构HDFSHDFS架构架构o4.1.3文件系统的名字空间IHDFS支持传统的层次型文件组织结构INamenode负责维护文件系统的名字空间INamenode将对文件系统的改动追加保存到本地文件系统上的一个日志文件ISeCOndaryNamenode定期合并fsimage和edits日志,将edits日志文4、件大小掌握在一个限度下。ISecondaryNamenode的检查点进程启
4、动,是由两个配置参数掌握的:U(I)fs.checkpoint.PeriOdU(2)fs.checkpoint.SizeINamenode可以引入这个最新的检查点:u在配置参数dfs.name.dir指定的位置建立一个空文件夹。u(2)把检查点名目的位置赋值给配置参数fs.checkpoint.dirou(3)启动NamenOde,并力口上-importcheckpoint。74.1HDFSu(1)Block的副本放置策略在大多数状况下,副本系数是3,HDFS的存放策略是将一个副本存放在本地机架的节点上,一个副本5、放在同一机架的另一个节点上,最终一个副本放在不同机架的节点上。u(2)副本选择
5、为了降低整体的带宽消耗和读取延时,HDFS会尽量让读取程序读取离它最近的副本。u(3)平安模式Namenode启动后会进入一个称为平安模式的特别状态。处于平安模式的Namenode是不会进行数据块的复制的。u(4)文件系统元数据的长久化Namenode上保存着HDFS的名字空间。对于任何对文件系统元数据产生修改的操作,NamenOde都会使用一种称为EditLOg的事务日志记录下来。84.1HDFSu(5)通讯协议全部的HDFS通讯协议都是建立在TCP/IP协议之上。u(6)健壮性HDFS的主要目标就是即使在出错的6、状况下也要保证数据存储的牢靠性。常见的三种出错状况是:Namenode出错,
6、Datanode出错和网络割裂(networkpartitions)0u(7)磁盘数据错误,心跳检测和重新复制每个Datanode节点周期性地向Namenode发送心跳信号。u(8)集群均衡HDFS的架构支持数据均衡策略。u(9)数据完整性从某个Datanode猎取的数据块有可能是损坏的,损坏可能是由Datanode的存储设备错误、网络错误或者软件bug造成的94.1HDFSu(5)通讯协议全部的HDFS通讯协议都是建立在TCP/IP协议之上。u(6)健壮性HDFS的主要目标就是即使在出错的状况下也要保证数据存储的7、牢靠性。常见的三种出错状况是:Namenode出错,Datanode出错和网
7、络割裂(networkpartitions)ou(7)磁盘数据错误,心跳检测和重新复制每个Datanode节点周期性地向NamenOde发送心跳信号。u(8)集群均衡HDFS的架构支持数据均衡策略。u(9)数据完整性从某个DatanOde猎取的数据块有可能是损坏的,损坏可能是由Datanode的存储设备错误、网络错误或者软件bug造成的104.1HDFSu元数据磁盘错误nFslmage和Editlog是HDFS的核心数据结构。nNamenode是HDFS集群中的单点故障(singlepointoffailur8、e)所在114.1HDFSo4.1.5HDFS读流程如下图所示。124.1HDFS
8、块复制块复制块复制块复制块复制块复制块复制块复制块复制块复制块复制块复制Hdfshdfs读流程读流程具体流程如下。134.1HDFS块复制块复制块复制块复制块复制块复制块复制块复制块复制块复制块复制块复制U(I)首先HDFS的客户端调用DistributedFiIeSystem.open方法打开这个文件(HDFS中API里的一个对象)。U通过DistributedFiIeSystem发送给NameNode恳求,同时将用户信息及文件名的信息等发送给NameNod9、e,并返回给DiStribUtedFiIeSyStem,该文件包含的block所在的DataNode位置。UHDFS客户端通过FSD
9、ataInputStream按挨次去读取DataNode的block信息(它会选择负载最低的或离客户端最近的一台DataNOde去读block)。o4.1.6HDFS写流程如下图所示。144.1HDFS块复制块复制块复制块复制块复制块复制块复制块复制块复制块复制块复制块复制HDFSHDFS写流程写流程具体流程如下。154.1HDFS块复制块复制块复制块复制块复制块复制块复制块复制块复制块复制块复制块复制L首先HDFS的客户10、端调用DistributedFiIeSystemxreate方法创建这个文件(HDFS中API里的一个对象)。2.通过DistributedFiIeSystem发送客户
10、端的恳求给NameNode(NameNode主要61是接受客户端恳求)并且会带着文件要保存的位置、文件名、操作的用户名等信息一起发送给NameNodeo3.NameNode会给客户端返回了一个FSDataoUtPUtStream,同时也会返回文件要写入哪些DataNode上(负载较低的)。4.通过FSDataOutputStream进行写操作,在写之前就做文件的拆分,将文件拆分成多个block,第11、一个写操作写在负载比较低的DataNode上,并将这个block复制到其他的DataNodeJto5.当全部的block副本复制完成后会反馈给FSDataOutputStreamo6.当全部的b
11、lock副本全都复制完成就可以将FSDataOutputStream流关闭。7.通过DistributedFiIeSystem更新NameNode中的源数据信息。提纲o4.1HDFSo4.2HDFS操作实践0习题0小结16o4.2.1HDFSShellU查看关心:#hdfsdfs-helpu创建名目:#hdfsdfs-mkdirtestu(3)列名目:#12、hdfsdfs-lsu编辑本地文件:#ViteStttu(5)上传文件:#hdfsdfs-puttesttxttestu(6)查看文件由hdfsdfs-lstestl74.2HDFS操作实践块复制块复制块复制块复制块复制块复制块复制块复制
12、块复制块复制块复制块复制U(I)PubIicbooleanmkdirs(Pathf)throwsIOException:一次性新建全部名目(包括父名目),f是完整的名目路径u(2)publicFSOutputStreamcreate(Pathf)throwsIOException:创建指定path对象的一个文件,返回一个用于写入13数据的输出流,create。有多个重载版本,允许用户指定是否强制掩盖已有的文件、文件备份数量、写入文件缓冲区大小、文件块大小及文件权限。u(3)publicbooleancopyFromLocal(Pathsrc,Pathdst)throwsIOException:
13、将本地文件复制到文件系统。184.2HDFS操作实践块复制块复制块复制块复制块复制块复制块复制块复制块复制块复制块复制块复制u(4)publicbooleanexists(Pathf)throwsIOException:检查文件或名目是否存在。u(5)publicbooleandelete(PathfzBoo14、Ieanrecursive):永久性删除指定的文件或名目,假如f是一个空名目或文件,那么recursive的值就会被忽视。只有recursive=true时,一个非空名目及其内容才会被删除。U(G)FiIeStatus类封装了文件系统中文件和名目的元数据,包括文件长度、块大小、备份、
14、修改时间、全部者及权限信息。194.2HDFS操作实践块复制块复制块复制块复制块复制块复制块复制块复制块复制块复制块复制块复制提纲04.1HDFSo4.2HDFS操作实践。习题0小结20习题Il.简述HDFS的体系架构。I2.简述HDFS读数据的流程。I3.简述HDFS写数据的流程。I15、4.简述BIOCk副本的存放策略。I5.编写程序实现对HDFS文件读写等。注:答案请参见习题答案21提纲05.1MapReduce简介o5.2MapReduce操作实践。习题0小结22小结Hadoop实现了一个高可扩展的分布式文件系统HDFSzHDFS作为Hadoop底层基础设施,为云计算供应高牢靠、高性能的存储服务。HDFS在很大程度上借鉴了GOOgIeGFS文件系统的设计思想,具有高度容错、支持大数据集等诸多特性。本章介绍了HDFS设计的前提和设计目标,重点介绍了HDFS架构模块功能及运行机制,以及HDFS读写文件流程、HDFSSheII和HDFSJAVAAPI,最终给出一个综合实例,使用JAVAAPl对HDFS进行名目创建、删除、列名目、上传文件和下载文件。23