HDFS写文件
写文件的大致过程如下图所示:
HDFS写文件过程详解:
1.客户端首先会向NameNode提交写文件申请
2.NameNode检查用户权限和是否存在该目录文件等问题,决定是否可以上传
3.NameNode返回是否可以上传
4.如果NameNode返回可以上传,客户端就会向NameNode申请上传第一个block
5.NameNode根据机架感知机制和DataNode空间大小等问题,返回三个(默认)DataNode地址
6.客户端和返回的三台DataNode建立通信管道,本质是RPC调用,DN1收到请求后会调用DN2,DN2收到后会调用DN3,然后逐级返回给客户端报告管道建立完成
7.管道建立完成之后就开始第一个block的传输,是以packet(64k)为单位进行传输,DN1收到后通过管道复制给DN2,DN2复制给DN3
8.当第一个block传输完成之后DataNode会逐级返回上传完成
9.客户端收到第一个block传输完成之后,就会重复4-8进行第二个block的传输
HDFS读文件
读文件的大致过程如下图:
HD