“本章介绍了 什么是文件系统、什么是分布式文件系统、HDFS分布式文件系统”
01
—
什么是文件系统
文件系统是操作系统提供的、用于解决”如何在磁盘上组织文件“的一系列方法和数据结构。用户不用关心文件具体在磁盘上如何存放的,只需要能够熟练的掌握类似于指定文件的存储路径、在哪个路径下的文件写数据、从哪个路径下读取文件数据等基本功能的文件操作系统就可以了。
02
—
什么是分布式文件系统
分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计基于客户机/服务器模式。一个典型的网络可能包括多个供多用户访问的服务器。另外,对等特性允许一些系统扮演客户机和服务器的双重角色。
计算机通过文件系统管理、存储数据,而信息爆炸时代中人们可以获取的数据成指数倍的增长,单纯通过增加硬盘个数来扩展计算机文件系统的存储容量的方式,在容量大小、容量增长速度、数据备份、数据安全等方面的表现都差强人意。分布式文件系统可以有效解决数据的存储和管理难题:将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个文件系统网络。每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输。人们在使用分布式文件系统时,无需关心数据是存储在哪个节点上、或者是从哪个节点从获取的,只需要像使用本地文件系统一样管理和存储文件系统中的数据。
03
—
HDFS分布式文件系统概述
hdfs核心设计目标 支持超大文件存储、流式数据访问、简单的一致性模型、硬件故障的检测和快速应对。
支持超大文件存储
Large Data Sets(海量数据集)在HDFS上运行的应用程序具有较大的数据集。HDFS中的典型文件是千兆字节到百万兆字节的大小。因此,HDFS被调优以支持大文件。它应该为单个集群中的数百个节点提供高聚合数据带宽和规模。它应该支持单个实例中的数千万个文件。
流式数据访问
在HDFS上运行的应用程序需要对其数据集进行流式访问。它们不是通常在通用文件系统上运行的通用应用程序。HDFS更多是为批量处理而设计的,而不是用户交互使用。重点是高数据访问量,而不是低数据访问的延迟。POSIX的很多硬件需求对于HDFS分布式文件系统来说都是非必须的,这样能够获得更好的吞吐量。
简单的一致性模型
HDFS应用程序需要一个文件的一次写入多次读取访问模型。文件一旦创建、写入和关闭,除了附加和截断外,无需更改。支持将内容附加到文件末尾,但不能任意点更新。这一假设简化了数据一致性问题,并允许高吞吐量数据访问。MapReduce应用程序或网络爬虫应用程序非常适合此模型。
硬件故障的检测和快速应对
DFS被设计成易于从一个平台移植到另一个平台。这有助于广泛采用HDFS作为大量应用程序的首选平台。
转载请注明:XAMPP中文组官网 » HDFS 分布式文件系统