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

(1)客户端要向HDFS写数据,首先要跟namenode通信以确认可以写文件并获得接收文件block的datanode,然后,客户端按顺序将文件逐个block传递给相应datanode,并由接收到block的datanode负责向其他datanode复制block的副本
    (4). hdfs数据写过程概述_第1张图片
  (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的服务器。

你可能感兴趣的:(大数据之hdfs)