此处内容将会出现在摘要(summary)里
# 此处的“\”用于转义,否则无法正常显示,实际使用须删去。Hadoop面试题
1. HDFS的写流程
- 客户端向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。
- NameNode返回是否可以上传。
- 客户端请求上传第一个block(第一个block与第二个block有一定的区别),通过域名端口找到DataNode。
- DataNode收到请求之后,向客户端返回一个流。
- 客户端开始往这个流中写数据。
- 客户端写完一个block之后,请求NameNode上传第二个block。
- 重复3-6的步骤。
2. HDFS的读流程
- 客户端向NameNode请求下载文件,NameNode通过查询元数据,找到文件的block所在的DataNode。
- 挑选一台DataNode(就近原则,然后随机)服务器,请求读取数据。
- DataNode开始传输数据给客户端。
- 客户端从多个DataNode上读取数据。
3. HDFS的文件删除流程
- 客户端请求NameNode删除文件。
- NameNode检查目标文件是否存在。
- 目标文件存在则返回是否可以删除。
- NameNode执行删除标记。
- NameNode返回是否删除成功。
4. HDFS的文件复制流程
- 客户端请求NameNode复制文件。
- NameNode检查目标文件是否存在。
- 目标文件存在则返回是否可以复制。
- NameNode执行复制标记。
- NameNode返回是否复制成功。
5. HDFS的文件追加流程
- 客户端请求NameNode追加文件。
- NameNode检查目标文件是否存在。
- 目标文件存在则返回是否可以追加。
- NameNode执行追加标记。
- NameNode返回是否追加成功。
6. HDFS的文件重命名流程
- 客户端请求NameNode重命名文件。
- NameNode检查目标文件是否存在。
- 目标文件存在则返回是否可以重命名。
- NameNode执行重命名标记。
- NameNode返回是否重命名成功。
7. HDFS的文件权限修改流程
- 客户端请求NameNode修改文件权限。
- NameNode检查目标文件是否存在。
- 目标文件存在则返回是否可以修改权限。
- NameNode执行修改权限标记。
- NameNode返回是否修改权限成功。