Hadoop HDFS基本结构是怎样的

发布时间:2021-12-10 09:34:43 作者:iii
来源:亿速云 阅读:118
# Hadoop HDFS基本结构是怎样的

## 一、HDFS概述

Hadoop分布式文件系统(Hadoop Distributed File System,简称HDFS)是Apache Hadoop项目的核心组件之一,专为存储超大规模数据集(TB级甚至PB级)而设计。其核心设计理念源自Google的GFS论文,具有高容错、高吞吐量、低成本部署等特点。

## 二、HDFS架构设计

### 1. 主从架构模型
HDFS采用经典的主从(Master/Slave)架构:
- **NameNode(主节点)**:负责管理文件系统的命名空间(Namespace)和客户端访问
- **DataNode(从节点)**:存储实际数据块的节点集群

### 2. 核心组件功能
| 组件        | 主要职责                                                                 |
|-------------|--------------------------------------------------------------------------|
| NameNode    | 维护文件系统树和所有文件的元数据(inode信息、块映射表等)                |
| DataNode    | 存储实际数据块,定期向NameNode发送心跳和块报告                           |
| Secondary NameNode | 执行检查点操作(非热备节点)                                      |
| Client      | 与HDFS交互的终端用户或应用程序                                          |

## 三、物理存储结构

### 1. 数据分块机制
- 文件被分割为固定大小的**块(Block)**(默认128MB,可配置)
- 每个块独立存储,支持并行处理
- 块大小远大于传统文件系统,减少寻址开销

### 2. 多副本存储
```python
# 副本放置策略示例(默认3副本):
1. 第一个副本:写入客户端所在节点(若为集群外则随机选择)
2. 第二个副本:不同机架的随机节点
3. 第三个副本:与第二副本同机架的不同节点

3. 存储目录结构

DataNode数据目录典型结构:

/hdfs/data/
├── current/
│   ├── BP-19354842-10.0.0.1-1434536125432/
│   │   ├── finalized/      # 已提交的块文件
│   │   └── rbw/           # 临时写入中的块
└── in_use.lock            # 进程锁文件

四、逻辑命名空间

1. 文件系统层次

2. 元数据管理

NameNode内存中维护两个关键数据结构: - FsImage:完整的命名空间镜像(定期持久化到磁盘) - EditLog:记录所有更改操作的日志(先写日志机制)

Hadoop HDFS基本结构是怎样的

五、高可用机制

1. NameNode HA方案

2. 数据可靠性保障

六、读写流程解析

1. 文件写入流程

  1. Client切分文件为多个块
  2. 从NameNode获取DataNode列表
  3. 建立管道(Pipeline)顺序写入
  4. 接收确认后提交元数据
sequenceDiagram
    Client->>NameNode: 创建文件请求
    NameNode->>Client: 返回分配列表
    Client->>DataNode1: 发送数据包
    DataNode1->>DataNode2: 转发数据
    DataNode2->>DataNode3: 转发数据
    DataNode3->>DataNode2: 确认回执
    DataNode2->>DataNode1: 确认回执
    DataNode1->>Client: 写入完成确认

2. 文件读取流程

  1. Client向NameNode获取块位置信息
  2. 直接从最近的DataNode读取数据
  3. 校验数据完整性

七、关键设计特点

  1. 适合大文件:高吞吐量但高延迟
  2. 流式访问:”一次写入多次读取”模型
  3. 硬件容错:自动处理节点故障
  4. 移动计算而非数据:支持数据本地化计算

八、典型应用场景

注意:HDFS不适合需要低延迟访问、大量小文件存储或频繁修改的场景。

九、演进与发展

随着Hadoop 3.x的发布,HDFS新增了: - Erasure Coding(纠删码)存储策略 - 基于Router的联邦架构 - 支持多个NameService的视图联邦

未来HDFS将继续向更高性能、更强一致性和云原生支持方向演进。 “`

(注:实际使用时需补充示意图链接或替换为本地图片路径,本文约1200字)

推荐阅读:
  1. Hadoop
  2. Hadoop 入门

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

hdfs hadoop

上一篇:如何进行Dumb二次注入

下一篇:hadoop二次排序怎么理解

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》