文章目录
HDFS分布式文件系统基础
一、文件系统、分布式文件系统
文件系统定义
- 文件系统是一种存储和组织数据的方法,实现了数据的存储、分级组织、访问和获取等操作,使得用户对文件访问和查找变得容易;
- 文件系统使用树形目录的抽象逻辑概念代替了硬盘等物理设备使用数据块的概念,用户不必关心数据底层存在硬盘哪里,只需要记住这个文件的所属目录和文件名即可;
- 文件系统通常使用硬盘和光盘这样的存储设备,并维护文件在设备中的物理位置。

传统常见的文件系统
- 所谓传统常见的文件系统更多指的的单机的文件系统,也就是底层不会横跨多台机器实现。比如windows操作系统上的文件系统、Linux上的文件系统、FTP文件系统等等。
- 这些文件系统的共同特征包括:
- 带有抽象的目录树结构,树都是从/根目录开始往下蔓延;
- 树中节点分为两类:目录和文件;
- 从根目录开始,节点路径具有唯一性。
数据、元数据
- 数据
指存储的内容本身,比如文件、视频、图片等,这些数据底层最终是存储在磁盘等存储介质上的,一般用户无需关心,只需要基于目录树进行增删改查即可,实际针对数据的操作由文件系统完成。 - 元数据
元数据(metadata)又称之为解释性数据,记录数据的数据;
文件系统元数据一般指文件大小、最后修改时间、底层存储位置、属性、所属用户、权限等信息

思考
- 大数据时代,面对海量数据,传统的文件存储系统会面临哪些挑战呢?
海量数据存储遇到的问题
- 成本高
传统存储硬件通用性差,设备投资加上后期维护、升级扩容的成本非常高。

- 如何支撑高效率的计算分析
传统存储方式意味着数据:存储是存储,计算是计算,当需要处理数据的时候把数据移动过来。
程序和数据存储是属于不同的技术厂商实现,无法有机统一整合在一起。 - 性能低
单节点I/O性能瓶颈无法逾越,难以支撑海量数据的高并发高吞吐场景。 - 可扩展性差
无法实现快速部署和弹性扩展,动态扩容、缩容成本高,技术实现难度大。
思考
- 当遇到海量数据存储的场景,传统的文件系统如何解决海量数据的存储问题?
- 一款能够支撑海量数据存储的系统需要追求什么?吞吐量?性能?安全?效率?
- 如果让你设计一款存储系统软件来支撑海量数据存储,如何设计?

本文详细介绍了HDFS分布式文件系统的基础知识,包括文件系统与分布式文件系统的概念,海量数据存储面临的挑战,分布式存储的优势,元数据记录、分块存储、副本机制的重要性。此外,还阐述了HDFS的起源、设计目标、适用场景和关键特性,如主从架构、分块存储和副本机制。
最低0.47元/天 解锁文章
2211

被折叠的 条评论
为什么被折叠?



