开发者社区> 问答> 正文

hdfs上传写数据的过程是什么?

hdfs上传写数据的过程是什么?

展开
收起
芯在这 2021-12-10 23:47:33 280 0
1 条回答
写回答
取消 提交回答
  • a、client跟NameNode通信请求上传文件,NameNode检查目标文件是否存在以及client是否有新建此文件的权限.

    b、若通过检查,NameNode就会为创建一条记录,记录该新建文件的信息.若未通过检查就会抛出异常.

    c、然后NameNode向客户端返回可以新建文件的信息以及相应的一组datanode,Client就近原则请求3台中的一台DataNode 1上传数据(本质上是一个RPC调用,建立pipeline)DataNode 1收到请求会继续调用DataNode 2,然后DataNode 2调用DataNode 3,将整个pipeline(管线)建立完成,然后逐级返回客户端。

    d、Client将文件分成一个个数据包写入到数据队列中,往DN1上传第一个块,以数据包为单位.DN1收到一个数据包就会传给DN2,DN2传给DN3。

    e、当DN 3写完最后一个pocket时,就会返回确认消息给DN2,DN2返回确认消息给DN1,然后返回给客户端,最后由客户端返回给namenode.

    2021-12-10 23:47:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
海量数据分布式存储——Apache HDFS之最新进展 立即下载
大批量处理excel文件到ODPS中方案 立即下载
HBase2.0重新定义小对象实时存取 立即下载