Hadoop 学习笔记(四)HDFS 简介
一、HDFS 产生的背景
Hadoop 的三大组成为:HDFS、YARN 和 Map Reduce,今天我们主要探讨 HDFS。
随着数据量的越来越大,在一个操作系统无法存放所有的数据,那么就需要将数据分派到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是 Hadoop 分布式文件管理系统,HDFS 是分布式文管理系统的一种。
二、HDFS 的定义
HDFS(Hadoop Distribute File System),是一种文件系统,用户存储文件,通过目录树来定位文件,其次:它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器由各自的角色;
HDFS 使用场景:适合一次写入,多次读取的场景,且不支持文件修改,适合用来做数据分析,并不适合用来做磁盘应用。
三、HDFS 优缺点
1、HDFS 优点
2、HDFS 缺点
个人理解:HDFS 不适合存储大量小文件:每一个文件都有各自的属性信息,路径,快信息,这些数据是存储在 namaenode 上的,如果小文件的数据量非常大,并且数据量还在增加的话,那么 NameNode 的压力是可想而知的;小文件过多,也会影响数据的寻址时间;举个例子:一块豆腐,切成 10 份并标记 0~10 的数字,和同样大小快豆腐切成1W快,并进行标记 1~10000,去找到 指定标号的小快豆腐,后者是必用更多的时间找到的。
四、HDFS 系统架构
五、HDFS 块文件大小
HDFS 文件在物理上是分块(Block)存储,块的大小可以通过配置参数(dfs.blocksize)来实现个性化修改,Hadoop 2.x 版本默认块大小是 128M,老版本 Hadoop 默认64M,
134217728 字节 134217728/1024/1024=128M
<property> <name>dfs.blocksize</name> <value>134217728</value> <description> The default block size for new files, in bytes. You can use the following suffix (case insensitive): k(kilo), m(mega), g(giga), t(tera), p(peta), e(exa) to specify the size (such as 128k, 512m, 1g, etc.), Or provide complete size in bytes (such as 134217728 for 128 MB). </description> </property>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下