此处内容将会出现在摘要(summary)里

# 此处的“\”用于转义,否则无法正常显示,实际使用须删去。

Hadoop面试题

1. HDFS的写流程

  1. 客户端向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。
  2. NameNode返回是否可以上传。
  3. 客户端请求上传第一个block(第一个block与第二个block有一定的区别),通过域名端口找到DataNode。
  4. DataNode收到请求之后,向客户端返回一个流。
  5. 客户端开始往这个流中写数据。
  6. 客户端写完一个block之后,请求NameNode上传第二个block。
  7. 重复3-6的步骤。

2. HDFS的读流程

  1. 客户端向NameNode请求下载文件,NameNode通过查询元数据,找到文件的block所在的DataNode。
  2. 挑选一台DataNode(就近原则,然后随机)服务器,请求读取数据。
  3. DataNode开始传输数据给客户端。
  4. 客户端从多个DataNode上读取数据。

3. HDFS的文件删除流程

  1. 客户端请求NameNode删除文件。
  2. NameNode检查目标文件是否存在。
  3. 目标文件存在则返回是否可以删除。
  4. NameNode执行删除标记。
  5. NameNode返回是否删除成功。

4. HDFS的文件复制流程

  1. 客户端请求NameNode复制文件。
  2. NameNode检查目标文件是否存在。
  3. 目标文件存在则返回是否可以复制。
  4. NameNode执行复制标记。
  5. NameNode返回是否复制成功。

5. HDFS的文件追加流程

  1. 客户端请求NameNode追加文件。
  2. NameNode检查目标文件是否存在。
  3. 目标文件存在则返回是否可以追加。
  4. NameNode执行追加标记。
  5. NameNode返回是否追加成功。

6. HDFS的文件重命名流程

  1. 客户端请求NameNode重命名文件。
  2. NameNode检查目标文件是否存在。
  3. 目标文件存在则返回是否可以重命名。
  4. NameNode执行重命名标记。
  5. NameNode返回是否重命名成功。

7. HDFS的文件权限修改流程

  1. 客户端请求NameNode修改文件权限。
  2. NameNode检查目标文件是否存在。
  3. 目标文件存在则返回是否可以修改权限。
  4. NameNode执行修改权限标记。
  5. NameNode返回是否修改权限成功。