HDFS讀寫流程相對于HDFS Client而言,所以讀流程為FSDataInputStream , 寫流程為FSOutPutStream
1、HDFS讀流程

(1)、打開分布式文件流
(2)、向NameNode請求數(shù)據(jù)文件
(3)、NameNode返回要讀取文件的全部或部分元數(shù)據(jù)信息
(4、5)、HDFS開始從最近的DataNode讀取block,若讀取的塊損壞,則讀取備份中的其他block,若所有備份都無法讀取,則文件 ? ? ?損壞。
(6)、文件讀取文筆,關(guān)閉分布式文件流
2、HDFS寫流程

(1、2)、HDFS Client 向NameNode申請創(chuàng)建文件,文件創(chuàng)建后,不會被分配block。
(4)、HDFS Client 向DataNode寫入數(shù)據(jù),DataNode根據(jù)復(fù)制策略向其他DataNode復(fù)制數(shù)據(jù)
(5)、文件寫完畢后,最后一個block依次向前傳遞ACK確認(rèn)信息,直到NameNode
(6)、關(guān)閉DFS文件流。