(4). hdfs数据写过程概述

客户端在HDFS上写文件时,首先与Namenode交互获取写文件许可及DataNode列表。接着,客户端按顺序将文件Block传输给指定DataNode,并由DataNode负责复制Block副本。具体步骤包括:与Namenode确认文件和父目录存在,建立Block传输的DataNode pipeline,逐级返回客户端,然后从磁盘读取数据到本地缓存,以Packet为单位上传Block,每次上传后等待DataNode的应答。
摘要由CSDN通过智能技术生成
(1)客户端要向HDFS写数据,首先要跟namenode通信以确认可以写文件并获得接收文件block的datanode,然后,客户端按顺序将文件逐个block传递给相应datanode,并由接收到block的datanode负责向其他datanode复制block的副本
    
  (2)详细步骤解析
    1.根namenode通信请求上传文件,namenode检查目标文件是否已存在,父目录是否存在
    2.namenode返回是否可以上传
    3.client请求第一个 block该传输到哪些datanode服务器上
    4.namenode返回3个datanode服务器ABC
    5.client请求3台dn中的一台A上传数据(本质上是一个RPC调用,建立pipeline),A收到请求会继续调用B,然后B调用C,将真个pipeline建立完成,逐级返回客户端
    6.client开始往A上传第一个block(先从磁盘读取数据放到一个本地内存缓存),以packet为单位,A收到一个packet就会传给B,B传给C;A每传一个packet会放入一个应答队列等待应答
    7.当一个block传输完成之后,client再次请求namenode上传第二个block的服务器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值