HDFS 原理、架构、应用

HDFS架构:各个模块的角色

HDFS 原理、架构、应用_第1张图片

  1. Active Namenode(ANN)

 -Master(只有一个)  - 管理HDFS的名称空间和数据块映射信息也就是元信息  - 配置副本存放策略  - 处理客户端的读写请求 
  1. Standby Namenode(SNN)

 - ANN的热备份  - 定期合并fsimage(HDFS的目录信息)和fsedits(HDFS的目录修改信息),并推送给ANN  -ANN挂掉时可以切换为ANN 
  1. Datanode (DN)

 - 作为Slave节点(有多个)  - 存储实际的数据  - 执行数据块的读写操作 
  1. Clinet

 - 文件的切分  -ANNDN交互  - 管理和访问HDFS 

HDFS写流程

HDFS 原理、架构、应用_第2张图片

  1. HDFSC将要写的数据进行划分为一个个的Block。
  2. HDFS Client (HDFSC)通过通过Distributed FileSystem(DFS)与NameNode交互(NN),询问NN文件是否存在,如果不存在才能写,并返回给HDFSC可用的DataNode(DN)
  3. HDFSC通过FSDataOutPutStream(FSDOPS)与各个DN交互,FSDOPS进一步把Block划分为更小的Package,采用流水线的方式写数据(分摊网络瓶颈),先写第一个DN,然后第一个DN负责写第二个DN,第二个DN负责写第三个DN。
  4. 所有的DN写完之后,HDFSC通知NN记录相应的元信息,最后,HDFSC关闭句柄。

HDFS读流程

HDFS 原理、架构、应用_第3张图片
1. HDFSC通过DFS询问要读取的文件的元信息
2. HDFSC通过FSDataInputStream(FSDIS)来依次读取文件的各个Block,从前向后依次读取,最后拼接为完整的文件。
3. 整个过程对用户来说是透明的。

你可能感兴趣的:(HDFS 原理、架构、应用)