赞
踩
我们登陆HDFS
的web
端,下载一个大文件。
1、HDFS client
创建DistributedFileSystem
,通过dfs
与NameNode
进行1次(一来一回2次)对话(request和response
),如图所示。
2、NameNode
收到client
的请求后,首先,检查用户权限,是否有下载该文件的权限。其次,检查元数据里是否存在该文件信息。通过后,则将对应的元数据信息
,反馈给client
。
3、client
收到元数据后,创建FSDataOutputStream
,并选择相应的副本节点,进行读取下载。此时,选择节点的两条原则:1、距离最近。2、节点请求量负载够用。
4、读数据,按顺序,先读blk1
,在读blk2
.是串行下载的。
5、DataNode
是以Packet
为单位进行数据校验与传输的,client
以Packet
为单位进行接收。先缓存,后写入磁盘。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。