HDFS问答题

本文详细阐述了HDFS的数据写入和读取流程,包括客户端如何串行建立通道,以及NameNode、DataNode、SecondaryNameNode的角色。HDFS架构中,NameNode负责元数据管理,DataNode存储数据块,2NN协助合并元数据。同时,介绍了DN的工作流程,如心跳检测和数据块的读写机制。
摘要由CSDN通过智能技术生成

HDFS问答

一、描述一下HDFS的数据写入流程

(1)客户端通过DFS问NN能不能上传文件,NN对文件进行一系列校验,校验通过就告诉客户端可以上传,校验不通过就报错

(2)NN响应之后,如果可以上传文件,此时客户端已经对文件进行了切块操作

(3)客户端问NN第一个数据块(Block)能不能开始上传,上传到哪儿(DN名单)

(4)NN根据机架感知策略给出DN名单dn1、dn2、dn3,表示客户端可以将数据块传到这些节点上

(5)客户端通过数据输出流(FSDataOutputStream)发出请求上传数据,DN根据网络拓扑原理确定先从dn1开始建立通道,然后dn1调用dn2,dn2调用dn3,把整个通道建立完成。

(6)dn1、dn2、dn3逐级应答客户端。

(7)客户端开始往dn1上传第一个数据块(先从客户端读取数据放到DN本地内存缓存),这时数据块以更小的数据包(Packet 64k)为单位开始传给dn1,dn1收到一个数据包就会传给dn2,dn2传给dn3;dn1每传一个数据包就会放入一个ack应答队列等待应答,应答通过,才开始写数据,应答不通过,等队列通畅再重新写,直到所有数据包上传完毕

(8)当一个Block传输完成之后,客户端再次请求Name

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值