第1章HDFS概述

1.1HDFS背景及定义

HDFS(Hadoop Distributed File System),一个分布式文件存储系统,通过目录树来定位文件
HDFS的使用场景:适合一次写入,多次读出的场景,且不支持文件的修改。

1.2 HDFS优缺点

优点:1.高容错性(多个副本,副本丢失会自动恢复)
2.适合处理大数据 (PB级别的数据,百万规模的文件数量)
缺点:1.不适合低延迟数据访问
2.无法高效对小数据进行处理
3.不支持并发写入、文件随机修改

1.3 HDFS组成架构

image.png
(1)NameNode(nn) Master

  1. 管理HDFS的名称空间
  2. 配置副本策略
  3. 管理数据块(Block)映射信息
  4. 处理客户端读写请求

(2)DataNode:就是Slave,NN下达命令,DN执行实际操作

  1. 存储实际的数据块;
  2. 执行数据块的读\写操作

(3)Client:客户端

  1. 文件切分。
  2. 与NN交互,获取文件的位置信息
  3. 与DN交互,读取或者写入数据
  4. 提供一些命令来管理HDFS,有:NN的格式化等
  5. 通过一些命令来访问HDFS,有:对HDFS增删改查等

1.4 HDFS文件块大小(面试重点)

image.png

思考:块的设置为什么不能太小,也不能太大?
(1)太小,会增加寻址时间
(2)太大,从磁盘传输的时间 会明显大于定位这个块开始位置所需的时间。
总结:主要取决于磁盘传输速率

第2章 HDFS的Shell操作(开发重点)

**2.1

**2.2 命令

2.3.1 准备工作

2.3.2 上传

2.3.3 下载

2.3.4 HDFS直接操作

第3章 HDFS客户端操作(开发重点)

3.1 HDFS客户端环境准备

3.2 HDFS的API操作

3.2.1 HDFS文件上传(测试参数优先级)

3.2.2 HDFS文件下载

3.2.3 HDFS删除文件和目录

3.2.4 HDFS文件更名和移动

3.2.5 HDFS文件详情查看

3.2.6 HDFS文件和文件夹判断

第4章 HDFS的数据流(面试重点)

4.1 HDFS写数据流程

4.1.1 剖析文件写入

4.1.2 网络拓扑-节点距离计算

4.1.3 机架感知(副本存储节点选择)

4.2 HDFS读数据流程

第5章 NameNode和SecondaryNameNode(面试开发重点)

5.1 NN和2NN工作机制

5.2 Fsimage和Edits解析

5.3 CheckPoint时间设置

5.4 NameNode故障处理(扩展)

5.5 集群安全模式

5.6 NameNode多目录配置

第6章 DataNode(面试开发重点)

6.1 DataNode工作机制

6.2 数据完整性

6.3 掉线时限参数设置

6.4 服役新数据节点

6.5 退役旧数据节点

**6.6 DataNode多