HDFS 的架构和读写流程

本文介绍了HDFS的架构,包括NameNode、DataNode和SecondaryNameNode的角色。详细阐述了HDFS文件的写入过程,从客户端创建文件到数据确认的整个流程,以及namenode如何选择datanode存储复本的策略。同时,文章还讲解了文件读取步骤,描述了客户端如何通过NameNode获取DataNode地址并直接读取数据,以实现高并发和高效的系统设计。
摘要由CSDN通过智能技术生成

HDFS 的架构

  NameNode :负责文件元数据信息的操作以及处理客户端的请求。
  DataNode:负责存储实际的数据块,执行数据块的读/写操作。
  SecondaryNameNode:保存 namenode 中对 HDFS metadata 的信息的备份,并减少 namenode 重启的时间。
在这里插入图片描述

HDFS读写数据流的流程

文件写入
  1、客户端对 DistributedFileSystem 对象调用create() 。
  2、DistributedFileSystem 请求 NameNode,NameNode返回是否可以上传。
  3、DistributedFileSystem 向客户端返回 FSDataOutputStream对象( FSDataOutputStream对象封装了一个DFSOutputStream对象,该对象负责处理namenode和datanode之间的通信),客户端对 FSDataOutputStream对象写入数据。
  4、DFSOutputStream将它分成一个个的数据包,并写入内部队列(数据队列),由 DataStreamer挑选出适合存储副本的一组datanode,并据此向namenode请求分配新的数据块来存储数据队列 —— 假设复本数为3,管线中就有3个节点(dn1、dn2、dn3),Da

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值