HDFS写入流程

废话不多说,先上图
在这里插入图片描述
科学已经证明,人记住一张图片要比记住一堆文字要容易的多,这就是我们右脑的作用。那么所以我觉得先记住一张图,以后只要想到这张图那么HDFS整个的文件写入流程就会很容的回想起来。
那么接下来我们就分析一下这张图中都有哪些步骤:
第一步:客户端向NN发送写入文件申请,这时NN就要看看我系统里边有没有你要写入的这文件,要是有不好意思,你就不能写入了,要是没有OK可以写入。
第二步:客户端继续请求上传第一个block并问NN,我这块应该往哪里上传呢?这时NN就会根据机架感知原理以及我们设置的文件备份策略,默认备份的数量是3,这样的话就是本地存一份,同机架上某节点一份,还有不同机架上某节点上一份。NN就把这三个地址给到客户端。
第三步:这时客户端会请求第一台服务器上传数据,然后第一台会调用第二台,第二台就会调用第三台,这样就建立好了整个pipline,并且逐级返回给客户端。
第四步:客户端开始向第一台服务器上传第一个block,以packet为单位(默认64k),第一台服务器收到第一个packet就会传给第二个服务器,第二个服务器再传给第三台服务器;第一台服务器每上传一个packet就会放入一个应答队列等待应答。
第五步:数据就这样一个一个packet的在pipline上传递,在pipline的反方向上逐个发送这ack(应答),最终第一台服务器会将piplineack传递给客户端。
第六步:当一个block传递完成后,客户端会再次向NN申请上传第二个block。直到上传完所有的block,关闭连接,释放资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值