ch03深入理解大数据:大数据处理和编程实践.pdfVIP

  • 8
  • 0
  • 约4.34万字
  • 约 35页
  • 2017-06-19 发布于湖北
  • 举报

ch03深入理解大数据:大数据处理和编程实践.pdf

Chapter3 第 章 3 大数据存储——分布式文件系统HDFS 大数据处理面临的第一个问题是,如何有效存储规模巨大的数据?对于大数据处理应用 来说,依靠集中式的物理服务器来保存数据是不现实的,容量也好,数据传输速度也好,都 会成为瓶颈。要实现大数据的存储,需要使用几十台、几百台甚至更多的分布式服务器节点。 为了统一管理这些节点上存储的数据,必须要使用一种特殊的文件系统——分布式文件系统。 为了提供可扩展的大数据存储能力,Hadoop 设计提供了一个分布式文件系统 HDFS (Hadoop Distributed File System )。 本章首先简要介绍 HDFS 的基本特征、基本构架、工作过程,以及 HDFS 的可靠性设计 和数据存储及访问方法,在此基础上进一步介绍 HDFS 的文件操作命令和 HDFS 的编程接口 和编程示例。 3.1 HDFS 的基本特征与构架 HDFS 被设计成在普通的商用服务器节点构成的集群上即可运行,它和已有的分布式文 件系统有很多相似的地方。但是,HDFS 在某些重要的方面 ,具有有别于其他系统的独特优 点。这个特殊的文件系统具有相当强大的容错能力,保证其在成本低廉的普通商用服务器上 也能很好地运行;进一步,HDFS 可以提供很高的数据吞吐能力 ,这对于那些需要大数据处 理的应用来说是一项非常重要的技术特征;另外,HDFS 可以采用流式访问的方式读写数据 , 在编程方式上,除了 API 的名称不一样以外 ,通过 HDFS 读写文件和通过本地文件系统读写 文件在代码上基本类似,因而非常易于编程使用。 第3 章 大数据存储——分布式文件系统HDFS 57 3.1.1 HDFS 的基本特征 HDFS 具有下列六种基本特征。 (1 )大规模数据分布存储能力 HDFS 以分布存储方式和良好的可扩展性提供了大规模数据的存储能力 ,可基于大量分 布节点上的本地文件系统,构建一个逻辑上具有巨大容量的分布式文件系统,并且整个文件 系统的容量可随集群中节点的增加而线性扩展。HDFS 不仅可存储 GB 级到 TB 级别大小的 单个文件,还可以支持在一个文件系统中存储高达数千万量级的文件数量。这种分布式文件 系统为上层的大数据处理应用程序提供了完全透明的数据存储和访问功能支撑,使得应用程 序完全感觉不到其数据在物理上是分布存储在一组不同机器上的。 (2 )高并发访问能力 HDFS 以多节点并发访问方式提供很高的数据访问带宽 (高数据吞吐率),并且可以把带 宽的大小等比例扩展到集群中的全部节点上。 (3 )强大的容错能力 在 HDFS 的设计理念中 ,硬件故障被视作是一个常态。因此,HDFS 的设计思路保证了 系统能在经常有节点发生硬件故障的情况下正确检测硬件故障,并且能自动从故障中快速恢 复,确保数据不丢失。为此,HDFS 采用多副本数据块形式存储 (默认副本数目是3 ),按照 块的方式随机选择存储节点。 (4 )顺序式文件访问 大数据批处理在大多数情况下都是大量简单数据记录的顺序处理。针对这个特性,为了 提高大规模数据访问的效率,HDFS 对顺序读进行了优化 ,支持大量数据的快速顺序读出, 代价是对于随机的访问负载较高。 (5 )简单的一致性模型( 一次写多次读) HDFS 采用了简单的 “一次写多次读”模式访问文件,支持大量数据的一次写入、多次 读取;不支持已写入数据的更新操作,但允许在文件尾部添加新的数据。 (6 )数据块存储模式 与常规的文件系统不同,HDFS 采用基于大粒度数据块的方式存储文件 ,默认的块大小 是 64MB ,这样做的好处是可以减少元数据的数量,并且可以允许将这些数据块通过随机方 式选择节点,分布存储在不同的地方。 3.1.2 HDFS 的基本框架与工作过程 1. 基本组成结构与文件访问过程 HDFS 是一个建立在一组分布式服务器节点的本地文件系统之上的分布式文件系统 。HDFS 58 第一部分 Hadoop 系统 采用经典的主 - 从式结构,其基本组成结构如图 3-1 所示。

文档评论(0)

1亿VIP精品文档

相关文档