单元4 任务4.1认识HDFS_第1页
单元4 任务4.1认识HDFS_第2页
单元4 任务4.1认识HDFS_第3页
单元4 任务4.1认识HDFS_第4页
单元4 任务4.1认识HDFS_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《大数据平台部署与运维》单元4HDFS分布式存储任务4.1认识HDFS01HDFS原理与体系架构学习目标02HDFS读写文件流程03HDFS特点任务4.1认识HDFS【任务场景】经理:小张,我们的大数据平台已经上线了,你整理一下Hadoop的数据存储策略给大家分享一下吧。小张:HDFS会先将大文件分割成数据块,将数据块写入到数据节点中。HDFS默认将数据块存储三份来保障数据的安全性。我先整理一下这个内容。经理:它三副本的策略保证了我们的安全性。那HDFS的其他特性你也总结一下吧。小张:HDFS通过副本放置策略机架感知策略同时作用,提高数据存放的安全性,同时,HDFS尝试满足来自最接近读取器的副本的读取请求来提高数据访问的性能。这方面我统一总结一下吧。任务4.1认识HDFS【任务布置】了解HDFS原理及体系架构,理解HDFS数据存储的副本存放策略,理解HDFS文件读写的流程。任务4.1认识HDFS4.1.1HDFS原理与体系架构HadoopDistributedFileSystem,Hadoop分布式文件系统。它被设计成适合运行在通用硬件(commodityhardware)上的分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS的体系架构决定它能够提供高吞吐量的数据访问,非常适合大规模数据集上的存储。HDFS总的设计思想是分而治之:将大文件、大批量文件,分布式存放在大量独立的服务器上,以便于采取分而治之的方式对海量数据进行运算分析。HDFS是一个主从体系结构,HDFS体系结构中包含三类组件,分别是NameNode、DataNode和SecondaryNameNode。名称描述NameNodeHDFS的守护进程,用来管理文件系统的命名空间和客户端对文件的访问。它负责记录文件是如何分割成数据块,以及数据块被存储到哪些DataNode中。DataNode负责存储和提取数据块,读写请求可能来自namenode,也可能直接来自客户端。数据节点周期性向Namenode汇报自己节点上所存储的数据块相关信息。SecondaryNameNode定期合并主Namenode的namespaceimage和editlog,避免editlog过大,通过创建检查点checkpoint来合并。它会维护一个合并后的namespaceimage副本,可用于在Namenode完全崩溃时恢复数据。任务4.1认识HDFS4.1.1HDFS原理与体系架构客户端通过同NameNode和DataNodes的交互访问文件系统,客户端联系NameNode以获取文件的元数据,而真正的文件I/O操作是直接和DataNode进行交互的。HDFS旨在可靠地跨大型集群中的机器存储非常大的文件。它将每个文件存储为一个块(Block)序列,数据块是HDFS上存储数据的基本单位。文件存储过程中,文件先分割为块序列,除最后一个块外的所有块大小都相同,而在append和hsync中增加了对变长块的支持后,用户可以在不将最后一个块填充到配置的块大小的情况下开始一个新块。HDFS通过复制文件的块以实现容错。应用程序可以指定文件的副本数。复制因子可以在文件创建时指定,以后可以更改。任务4.1认识HDFS4.1.1HDFS原理与体系架构

副本选择策略为了提升HDFS的可靠性,可以创建多分数据块副本,并将它们放置在服务器集群。为了最小化全局带宽消耗和读取延迟,HDFS尝试满足来自最接近读取器的副本的读取请求。如果在与读取器节点相同的机架上存在副本,则首选该副本来满足读取请求。如果HDFS集群跨越多个数据中心,那么驻留在本地数据中心的副本优先于任何远程副本。

数据块放置策略对于常见的情况,当复制因子为3时,HDFS的放置策略是如果写入者在数据节点上,则将一个副本放在本地机器上,否则在与写入者相同机架的随机数据节点上,另一个副本放在不同(远程)机架中的一个节点,以及同一远程机架中不同节点上的最后一个节点。此策略减少了机架间写入流量,这通常会提高写入性能。机架故障的几率远小于节点故障;此政策不影响数据可靠性和可用性保证。然而,它不会减少读取数据时使用的聚合网络带宽,因为一个块只放置在两个独特的机架中,而不是三个。使用此策略,块的副本不会均匀地分布在机架上。两个副本位于一个机架的不同节点上,其余副本位于其他机架之一的节点上。此策略可在不影响数据可靠性或读取性能的情况下提高写入性能。如果复制因子大于3,则随机确定第4个及以下副本的放置,同时保持每个机架的副本数量低于上限(基本上是(replicas-1)/racks+2)。任务4.1认识HDFS4.1.1HDFS原理与体系架构

机架感知策略副本的放置对于HDFS的可靠性和性能至关重要。优化副本放置将HDFS与大多数其他分布式文件系统区分开来。这是一项需要大量调整和经验的功能。机架感知副本放置策略的目的是提高数据可靠性、可用性和网络带宽利用率。大型HDFS实例通常分布在许多机架上的计算机集群上运行。不同机架中的两个节点之间的通信必须通过交换机。在大多数情况下,同一机架中机器之间的网络带宽大于不同机架中机器之间的网络带宽。NameNode通过HadoopRackAwareness中设定每个DataNode所属的机架ID。一个简单但非最优的策略是将副本放在唯一的机架上。这可以防止在整个机架出现故障时丢失数据,并允许在读取数据时使用多个机架的带宽。此策略在集群中均匀分布副本,从而可以轻松平衡组件故障时的负载。但是,此策略增加了写入成本,因为写入需要将块传输到多个机架。任务4.1认识HDFS4.1.2HDFS读写文件流程

NameNode做出有关块复制的所有决定。它会定期从集群中的每个DataNode接收Heartbeat和Blockreport。收到心跳意味着DataNode运行正常。Blockreport包含DataNode上所有块的列表。大文件被切割成小文件,使用分而治之的思想让很多服务器对同一个文件进行联合管理。每个小文件做冗余备份,并且分散存到不同的服务器,做到高可靠不丢失。任务4.1认识HDFS4.1.2HDFS读写文件流程1.HDFS数据写入流程任务4.1认识HDFS4.1.2HDFS读写文件流程1.HDFS数据读取流程任务4.1认识HDFS4.1.3HDFS特点HDFS特点(1)硬件故障是常态(2)流数据访问(3)大数据集(4)简单的一致性模型(5)移动计算比移动数据更划算(6)跨异构硬件和软件平台的可移植性任务4.1认识HDFS4.1.3HDFS特点

有些场景不适合使用HDFS来存储数据,比如如下场景:(1)低延时的数据访问

对延时要求在毫秒级别的应用,不适合采用HDFS。HDFS是为高吞吐数据传输设计的,因此可能牺牲延时,HBase更适合低延时的数据访问。(2)大量小文件

文件的元数据(如目录结构,文件block的节点列表,block-nodemapping)保存在NameNode的内存中,整个文件系统的文件数量会受限于NameNode的内存大小。

经验而言,一个文件/目录/文件块一般占有150字节的元数据内存空间。如果有100万个文件,每个文件占用1个文件块,则需要大约300M的内存。因此十亿级别的文件数量在现有商用机器上难以支持。(3)多方读写,需要任意修改文件

HDFS采用追

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论