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 写数据
- 写数据的流程
- 机架感知(副本存储节点的选择)
4.2 读数据
- 读数据的流程