简易分布式存储系统项目准备2|青训营笔记

100 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第3天 这是青训营课程小组将要涉及的项目。

什么是文件系统?不论是操作系统还是运行的各种软件,抑或是比HDFS上位概念的 Hadoop 工具都是一些程序。在运行的时候,这些程序实际上都在存储和搜索数据。正如我们所熟知的,在电脑中,常用的存储有内存硬盘两种形式:

  • 内存的速度快,但是价格更贵,所以使用的存储容量较小;\

  • 硬盘价格便宜,速度要慢很多。\

在我们的电脑中一般都使用硬盘来进行长期存储,而内存用来存储程序运行时的数据。所以,对于我们的硬盘来说,最基本的功能就是读取和写入功能。但是,这里有很多问题需要解决:

  • 硬盘上的位置如何划分;\

  • 怎么能够尽快在硬盘上找到需要的数据;\

  • 对于一块空间如何保障读数据和写数据不是同时进行的;\

针对这么多的问题,提出了一个抽象的概念——文件。一个文件就是一个单元,占用一个独立的地址空间,程序可以读取文件或者创建新的文件。而对这些文件进行管理,解决这些文件的结构、访问、保护、寻址等功能的系统,我们就称为文件系统。而我们所要介绍的 HDFS,全称 Hadoop Distribute File System,也就是分布式文件系统的意思,HDFS 是文件系统的一种实例。

HDFS(Hadoop Distributed File System)分布式文件存储系统,主要为各类分布式计算框架如Spark、MapReduce等提供海量数据存储服务,同时HBase、Hive底层存储也依赖于HDFS。HDFS提供一个统一的抽象目录树,客户端可通过路径来访问文件,如hdfs://namenode:port/dir-a/a.data。HDFS集群分为两大角色:Namenode、Datanode(非HA模式会存在Secondary Namenode)

HDFS可以利用廉价的普通服务器作为其存储,组建一个大规模存储集群,为各类计算提供数据访问的基础。那么 HDFS 的文件系统比起一般的文件系统有什么特色呢?其实 HDFS 文件系统最大的特色就是它在分布式架构上的处理,同时 HDFS 的设计适合一次写入,多次读出的场景,且不支持文件的修改,所以不适合反复修改数据的场景。