HDFS学习笔记

379 阅读1分钟

1. HDFS 块大小(block size)的设置取决于什么?(面试重点)

磁盘的传输速率。使得寻址时间为传输时间的 1% 为最佳状态。

一般 100MB/S 的机械硬盘块大小设置为 128MB,而平均 200 MB/S 的固态硬盘可以设置为256MB。

2. HDFS 命令(Shell 客户端)(开发重点)

2.1 基本语法

hadoop fs xxx <=> hdfs dfs xxx

2.2 上传命令

  • -moveFromLocal xxx xxx 从本地剪切文件到 HDFS
  • -copyFromLocal xxx xxx 从本地复制文件到 HDFS
  • -put xxx xxx 同上
  • -appendToFile xxx xxx 追加内容到 HDFS 中的文件内

2.3 下载命令

  • -copyToLocal xxx xxx 从 HDFS 复制文件到本地
  • -get xxx xxx 同上

2.4 直接操作命令

  • -ls
  • -cat
  • -chmod 、-chgrp、-chown
  • -mkdir
  • -cp
  • -mv
  • -tail 显示文件末尾 1KB 的数据
  • -rm
  • -du (-s) 统计文件夹内文件的大小信息,-s 表示合并统计
  • -setrep 设置 HDFS 中文件副本的数量

3. Windows 本地 IDEA 客户端操作 HDFS

  • 在 Windows 上安装 Hadoop 并配置好环境变量
  • 创建 Maven 项目,配置 Hadoop 依赖
  • 调用 API 进行文件的增删改查操作

4. HDFS 读写数据流程(面试重点)

4.1 写数据

  • 写数据的流程

image.png

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

4.2 读数据

  • 读数据的流程

image.png

5. NN 与 2NN

image.png

6. DN

image.png