关键词:Hadoop、HDFS、分布式存储、NameNode、DataNode、大数据入门
HDFS(Hadoop Distributed File System)是 Hadoop 生态中最核心的组件之一,是为大规模数据存储和高吞吐量数据访问而设计的分布式文件系统。它允许用户将超大文件存储在由普通硬件组成的集群上,具备高容错、横向扩展能力强等特点。
特性 | 描述 |
---|---|
分布式存储 | 文件被切分成数据块(Block),分布存储在集群的多个节点上 |
副本机制 | 每个数据块默认存储 3 份副本(可配置),提高系统的容错性 |
大文件优先 | 适合存储 100MB 以上甚至 GB 级别的大文件 |
一次写入,多次读取 | 不支持随机修改,适合批处理与分析场景,如日志分析、视频流处理等 |
高吞吐量 | 设计重点在于批量处理任务的吞吐量,而不是低延迟访问 |
HDFS 架构采用典型的 Master-Slave(主从)模型,由以下核心组件组成:
注意:NameNode 只负责元数据,不保存任何实际文件内容!
⚠️ 并不是 NameNode 的备份节点!
副本因子可配置:通过 dfs.replication
设置(默认值为 3)
名称 | 描述 |
---|---|
Block(块) | HDFS 的最小存储单元,默认 128MB(可配置为 64MB、256MB 等) |
副本因子(Replication) | 每个块在集群中保存的副本数量,提升系统容错能力 |
元数据(Metadata) | 包括:文件路径、数据块列表、数据块所在 DataNode 位置等,仅由 NameNode 存储 |
以下为一些常用命令,可用于与 HDFS 进行交互:
# 上传文件到 HDFS
hdfs dfs -put localfile.txt /user/hadoop/
# 从 HDFS 下载文件
hdfs dfs -get /user/hadoop/localfile.txt ./
# 查看指定目录
hdfs dfs -ls /user/hadoop/
# 删除文件
hdfs dfs -rm /user/hadoop/localfile.txt
# 查看文件内容
hdfs dfs -cat /user/hadoop/localfile.txt
# 创建目录
hdfs dfs -mkdir /user/hadoop/newdir
# 查看文件副本数和块大小
hdfs fsck /user/hadoop/localfile.txt -files -blocks -locations
项目 | 内容 |
---|---|
系统定位 | Hadoop 的分布式文件存储核心组件 |
架构 | NameNode(主) + DataNode(从)+ Secondary NameNode(辅助) |
特性 | 高容错、横向扩展、适合大文件、支持副本、多读少写、高吞吐 |
使用建议 | 适合大数据离线处理与分析场景,不适合小文件和实时读写场景 |
如果你对 HDFS 有了初步了解,推荐继续学习以下内容:
提示:你可以关注 “Hadoop 实验手册” 系列文章,我将逐步发布详细的部署实践与实验操作步骤。
是否需要我为你整理一份入门部署手册或者 实验环境搭建文档(支持本地/VM/云)?如果需要,也可以继续帮你扩展下一篇文章的目录或内容结构。