Hadoop大数据处理实战(中篇,共上中下3篇).pptxVIP

  • 29
  • 0
  • 约3.49万字
  • 约 160页
  • 2023-10-19 发布于安徽
  • 举报

Hadoop大数据处理实战(中篇,共上中下3篇).pptx

Hadoop大数据处理实战 第4章Hadoop分布式文件系统 本章导读Hadoop分布式文件系统(HDFS)是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,可在低成本的通用硬件上运行。它简化了文件的一致性模型,通过流式数据访问,可为带有大型数据集的应用程序提供高效的海量数据存储服务。 学习目标020304了解HDFS的设计目标和不足。熟悉HDFS的体系结构。了解HDFS的数据错误与恢复手段。理解HDFS的运行机制和工作流程。掌握HDFS的命令行操作和Java API操作。 01HDFS概述数据错误与恢复02HDFS的运行机制03目录CONTENTSHDFS的工作流程04HDFS的基本操作05 01HDFS概述 HDFS概述HDFS是一个支持海量数据存储的分布式文件系统,它允许用户将成百上千的计算机组成存储集群,并将这些计算机划分成元数据节点和数据节点。集群中各节点之间通过网络进行数据交互,从而形成一个跨网络的文件系统。网络编程的复杂性和网络传输的不可靠性,使得HDFS比普通磁盘文件系统更加复杂。 HDFS概述4.1.1 HDFS的设计目标和不足HDFS的设计目标包括以下几点:1.HDFS的设计目标(1)支持超大文件存储。HDFS能够存储GB级乃至TB级的超大文件,如今已存在支持PB级文件存储的Hadoop集群。(2)采用write-once-read-many(一次写入多次读取)访问模型。HDFS对数据文件采取一次性写入、多次读取的方式,即HDFS文件一经创建、写入和关闭之后就不能再修改。需要注意的是,HDFS在同一时刻仅支持一个“写入者”。此外,随着Hadoop版本的升级,HDFS的写操作已支持使用append方式在文件末尾追加数据。 HDFS概述(3)具有故障检测和快速自动恢复功能。HDFS系统包含了成百上千个存储节点,并且这些节点都是一些廉价的计算机。显然,对于如此多的计算机而言,个别计算机出现硬件故障实属正常。有鉴于此,故障检测和快速自动恢复就成为HDFS的核心设计目标,从而既保证了集群的容错性,又保证了数据的完整性。(4)采用流式数据访问。为了获得高吞吐量的数据访问,HDFS上的应用主要采用流式数据访问方式,即边收集数据边处理数据。因此,HDFS适用于批量数据处理,而非用户交互式数据处理。(5)支持移动计算。如果将应用程序请求的计算在其操作的数据附近执行,而不是将数据移动到运行应用程序的位置,可以极大地减少网络拥塞并提高系统的整体吞吐量,从而提高计算效率,尤其是当数据文件很大时提升效果更加明显。此外,HDFS还为应用程序提供了移动计算的接口。 HDFS概述HDFS同时也存在以下几点不足:2.HDFS的不足(1)不适合处理低延迟数据访问。HDFS主要用于海量数据的批量处理,且通过采用流式数据访问方式获得了数据的高吞吐率,但这意味着HDFS不适合处理低延迟的数据访问请求。(2)无法高效存储大量小文件。小文件是指小于HDFS上最小存储单位的文件。如果HDFS中存储大量的小文件,会使得在集群中进行数据计算时出现数据倾斜问题(即数据在计算时分散度不够,导致大量的数据集中到一台或多台计算机上,使得这些计算机的计算速度远远低于平均计算速度,计算过程也将变得缓慢)。不过,可以通过合并小文件来解决此类问题。 HDFS概述(3)不支持多用户写入和任意修改文件。HDFS采用了“一次写入多次读取”模式,也就是说,用户不能对HDFS上的数据进行随机写操作。此外,HDFS不支持多个“写入者”同时操作数据,也不支持在文件的任意位置进行写操作以修改文件内容。如果必须修改HDFS文件,用户可以将该文件下载到本地,重新编辑后再上传到HDFS中。 HDFS概述4.1.2 HDFS的体系结构HDFS的核心组件是NameNode和DataNode。它是一个主/从(master/slave)架构的系统,即一个HDFS集群由一个NameNode和若干DataNode组成。其中,NameNode(元数据节点)为主节点,DataNode(数据节点)为从节点。HDFS的体系结构 HDFS概述1.block在计算机中,每个物理磁盘都包含大量磁盘数据块。磁盘数据块是磁盘读写的最小单位,并且当文件系统进行文件读写时只能操作整数倍磁盘数据块大小的数据。与普通文件系统类似,HDFS也采用了块(block)的概念。HDFS的数据块大小默认为128 MB(Hadoop 1.x为64 MB),显然,这比大小通常为512 B的磁盘数据块要大得多。 HDFS概述在HDFS中,数据文件按块进行存储可以带来如下好处:(1)可以存储任意大小的数据文件,不用再受单个节点磁盘容量大小的限制。例如,在单个节点存储100 TB甚至10 PB的文件几乎是不可能的

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档