HDFS读数据流程
1)客户端通过Distributed FileSystem向NameNode请求下载文件,namenode检查下载的合法性(是否有权限下载以及下载的合法性),NameNode通过查询元数据,找到文件块所在的DataNode地址。
2)挑选一台DataNode(就近原则,然后随机)服务器,请求读取数据。
3)DataNode开始传输数据给客户端(从磁盘里面读取数据输入流,以Packet为单位来做校验)。
4)客户端以Packet为单位接收,先在本地缓存,然后写入目标文件。(把下载的block按照顺序依次输入到输入流里面,拼接起来生成最后的文件)