Hadoop中HDFS的读写流程及NN、2NN、DN的工作机制

本文详细介绍了Hadoop中HDFS的读写流程,包括客户端如何读取和写入文件,以及NameNode、Secondary NameNode和DataNode在这一过程中的工作机制。HDFS读取时,客户端从NameNode获取DN信息并建立数据传输通道;写入时,NameNode分配DN,客户端建立与DN的通道并传输数据。Secondary NameNode定期执行CheckPoint,合并Fsimage和edits,确保元数据安全。DataNode则在启动时向NameNode注册并周期性报告其存储的块信息。
摘要由CSDN通过智能技术生成

Hadoop中HDFS的读写流程及NN、2NN、DN的工作机制


HDFS读流程

客户端Client中的DistributedFileSystem对象申请下载文件,NameNode检查申请的文件是否存在,并查看要下载的文件夹是否有读权限,然后响应文件是否存在,DistributedFileSystem对象请求下载第一个Block,NN返回三个DN节点,客户端会开一个FSDataInputStream输入流,然后向其中一块DN请求建立通道,DN应答成功,开始传输Packet,其他两个DN负责当备胎,传输成功后,同理传输第二个,整个传输是一个完整的流,并不会出现块合并的情况。

HDFS的写流程

首先我们有一个200M大小的文件,客户端Client中的DistributedFileSystem对象申请上传文件,NameNode检查申请的文件是否存在,并查看要写入的文件夹是否有写入权限,然后响应可否上传,DistributedFileSystem对象请求上传第一个Block块,块大小为0~128M,NameNode返回给客户端Client一个List,List包含3个DN(DN的数量取决于我们设置的副本数),三个DN的选择方式是第一个DN选择离客户端Client最近的(网络拓扑),然后第二个DN依据第一个DN来选择,第三个DN依据第二个DN来选择,然后客户端Client会开一个FSDataOutputStream输出流,然后会向DN1申请请求建立通道,DN1向DN2请求建立通道,DN2向

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值