HDFS 原理、架构、应用

HDFS架构:各个模块的角色

这里写图片描述

  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写流程

这里写图片描述

  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读流程


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值