HDFS分布式文件系统架构

HDFS分布式文件系统架构

1.HDFS概论与基础框架结构

HDFS基础介绍

一、文件系统概述

  • 文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NANDFlash的固态硬盘)或区分上的文件的方法和数据结构;即在存储设备上组织文件的方法。
    在这里插入图片描述
    文件系统定义: 文件系统是一种存储和组织计算机数据的方法,它使得对其访问和查找变得容易。

文件名: 在文件系统中,文件名是用于定位存储位置。

元数据(Metadata): 保存文件属性的数据,如文件名,文件长度,文件所属用户组,文件存储位置等。

数据块(Block): 存储文件的最小单元。对存储介质划分了固定的区域,使用时按这些区域分配使用。

二、文件系统组成与功能

  • 文件系统的组成主要包括以下几个主要部分:
  • 文件名:文件的名称
  • 数据:文件内部的实际数据,一般是存储在存储空间中,由文件系统进行调度和管理
  • 元数据:文件的属性信息,主要记录了文件的存储位置、创建修改时间等内容
  • 文件系统的功能包括:管理和调度文件的存储空间,提供文件的逻辑结构、物理结构和存储方法;实现文件从标识到实际地址的映射,实现文件的控制操作和存取操作,实现文件信息的共享并提供可靠的文件保密和保护措施,提供文件的安全措施。

以块形式存储是目前最常用的一种数据存储方式,我们在进行数据存储时,使用的是元数据加数据的形式,元数据相当于是数据的一个摘要信息,保存着文件的属性、长度、存储位置、类型等信息,类似于字典中的索引和正文的关系,数据块作为文件存储的最小的单位,对存储区域进行了区域划分,在写入数据时按需分配。

我们可以按照字典的方式进行类比:文件系统就相当于是字典,元数据相当于索引目录,数据相当于是正文,我们查字典就和查找数据一样,首先需要访问文件系统,然后根据元数据找到对应的数据位置和相关的属性信息,最后根据元数据的描述找到数据。

三、文件系统类型

  • 目前常见的文件系统的类型有但不只包括以下类型:
    • FAT:FAT是早期Windows系统使用的文件系统,计算机将信息保存在硬盘上称为“簇”的区域内。使用的簇越小,保存信息的效率就越高。
    • NTFS:NTFS文件系统是一个基于安全性的文件系统,是WindowsNT所采用的独特的文件系统结构,它是建立在保护文件和目录数据基础上,同时照顾节省存储资源、减少磁盘占用量的一种先进的文件系统。
    • exFAT:ExtendedFileAllocationTableFileSystem,扩展FAT,即扩展文件分配表
    • EXT:Linux系统常用文件系统,主要分为EXT2——EXT4

四、HDFS文件系统概述

  • HDFS(HadoopDistributedFileSystem)基于Google发布的GFS论文设计开发,运行在通用硬件上的分布式文件系统。

  • 其除具备其它分布式文件系统相同特性外,还有自己特有的特性:

    • 高容错性:认为硬件总是不可靠的
    • 高吞吐量:为大量数据访问的应用提供高吞吐量支持
    • 大文件存储:支持存储TB-PB级别的数据、

    HDFS(HadoopDistributionFileSystem)是运行在通用硬件(所谓通用硬件就是指软件对于底层的硬件平台的配置和设备没有需求,可以随意搭建并且兼容,对于HDFS文件系统包括整体的Hadoop组件来说,这样做就可以达到完美的拓展性,由于本身设备对于硬件没有要求之后,那么我们就可以按照无限堆积硬件的方式进行性能的拓展,直到满足大数据处理系统的需求,这样做可以减小在实际操作中的成本,并且可以提供更好的容错性,如果我们对于设备的型号或者性能有需求那么不免我们会在搭建时使用相同的设备来进行操作,这样的话,如果某一厂商的设备存在有BUG,那么就会在一批设备上出现相同的问题,造成整体性能的下降或者系统的安全性危机)上的分布式文件系统,它具有高容错性,高吞吐量并且支持大文件存储。

    HDFS支持的主要是大文件的流数据,对于离散的小文件的支持性较弱,尤其是对延迟比较敏感的应用,由于HDFS要支持高吞吐量,所以势必要以牺牲延迟作为代价。

    注:由于HDFS的文件系统是需要将元数据加载在内存中进行维护的,我们又将该维护进程称之为Namenode,系统需要为每一个数据文件维护约150字节的元数据,所以存储小文件和大文件都是消耗同样的元数据空间,这样的话,在支持性上,小文件过多就会影响最终数据的存储容量,对于相同的元数据空间,我们所能存储的单位数据越大,那么大数据文件系统的支持性也就越强,所以HDFS在相同的文件数目下,存储大文件和小文件的开销相同,那么存储大文件就更加合理。并且作为大数据主要使用的文件系统,HDFS主要提供的是文件的读操作,所以它整个分布式进程中只有一个写进程,其他的进程全部都是读进程,并且该写进程是在所有进程的最末尾的。设计者针对于大数据操作系统的处理特点,为了保护数据的一致性和读写的性能,就提出了WORM模型作为HDFS整体的系统设计目标,WORM-writeoncereadmany,WORM的最开始是使用在存储系统中,用于对关键数据进行保护的,比如政府,法院的判决文件等,这些文件可以允许进行读取,但是由于需要保护其不受篡改所以就需要WORM来进行保证,当一个文件写入到文件系统中之后,在更改期限内,我们还可以进行改写操作,当进入到保护周期之后,就只能进行读取,无法进行写操作了,这里说的写操作是任何写都不能执行。当文件大小为0字节,也就是指该文件为空文件时,那么文件在保护期内还有一次追加写的机会。这是在存储中的WORM的特点,在HDFS中,由于我们的设计目标并不是为了防止文件的篡改,而是为了保证高效率的读取,所以我们并没有将WORM设计的很严格。我们写入的文件是不再允许修改的,但是我们可以在文件末尾进行无限的追加写操作。

五、HDFS文件系统特点

  • HDFS适合做以下类型工作:

    • 大文件存储
    • 流式数据访问
  • HDFS应用类型举例:

    • 气象系统数据存储
    • 用户行为数据存储
    • 其他以海量大文件,读操作为主的业务
  • HDFS不适合做以下类型工作:

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值