Hadoop大数据技术原理与应用/大数据技术与应用丛书
作者简介
内容简介
第3章HDFS分布式文件系统学习目标 了解HDFS演变。 掌握HDFS特点。 掌握HDFS的架构和原理。 掌握HDFS的Shell和JavaApi操作。HDFS是Hadoop 体系中的重要组成部分,主要用于解决海量大数据文件 存储的问题,是目前应用最广泛的分布式文件系统。接 下来,本章将从HDFS的演变开始,带领大家逐步学习 HDFS的架构、工作原理以及常见操作。 3.1HDFS的简介〖*4/5〗3.1.1HDFS的演变HDFS源 于Google在2003年10月份发表的GFS(Google File System)论文,接下来从传统的文件系统入手,开始学 习分布式文件系统,以及分布式文件系统是如何演变而 来。图31传统文件系统 传统的文件系统对海量数据的处理方式是将数据文 件直接存储在一台服务器上,如图31所示。 从图31可以看出,传统的文件系统在存储数据时 ,会遇到两个问题,具体如下: 当数据量越来越大时,会遇到存储瓶颈,就需要扩 容; 由于文件过大,上传和下载都非常耗时。 为了解决传统文件系统遇到的存储瓶颈问题,首先 考虑的就是扩容,扩容有两种形式,一种是纵向扩容, 即增加磁盘和内存;另一种是横向扩容,即增加服务器 数量。通过扩大规模达到分布式存储,这种存储形式就 是分布式文件存储的雏形,如图32所示。 图32分布式文件系统雏形 解决了分布式文件系统的存储瓶颈问题之后,还需 要解决文件上传与下载的效率问题,常规的解决办法是 将一个大的文件切分成多个数据块,将数据块以并行的 方式进行存储。这里以30G的文本文件为例,将其切分 成3块,每块大小10G(实际上每个数据块都很小,只有 100M左右),将其存储在文件系统中,如图33所示。 第3章HDFS分布式文件系统Hadoop大数据技术原理 与应用图33分布式文件系统雏形 从图33可以看出,原先一台服务器要存储30G的 文件,此时每台服务器只需要存储10G的数据块就完成 了工作,从而解决了上传下载的效率问题。但是文件通 过数据块分别存储在服务器集群中,那么如何获取一个 完整的文件呢?针对这个问题,就需要再考虑增加一台 服务器,专门用来记录文件被切割后的数据块信息以及 数据块的存储位置信息,如图34所示。 图34HDFS雏形 从图34可以看出,文件存储系统中增加了一台服 务器A用于管理其他服务器,服务器A记录着文件被切分 成多少个数据块,这些数据块分别存储在哪台服务器中 ,当客户端访问服务器A请求下载数据文件时,就能够 通过类似查找目录的方式查找数据了。 通过前面的操作,看似解决了所有问题,但其实还 有一个非常关键的问题需要处理,那就是当存储数据块 著名IT培训公司传智博客倾情奉献。 全面系统地讲解了Hadoop完整的技术体系:基础部署、集群管理、底层设计、项目实战。 提供了丰富的范例程序,降低了读者学习大数据技术的门槛。通过本书的学习,读者能够利用Hadoop及其生态系统中的一系列工具进行大数据分析。 提供了丰富的配套教学资源,包含精美PPT、教学设计、教学大纲、题库、教学视频等。