2.返回目標檔案的元資料
挑選一台datanode(就近原則,然後隨機)伺服器,請求讀取資料。
3.客戶端請求讀資料block1
datanode開始傳輸資料給客戶端(從磁碟裡面讀取資料輸入流,以packet為單位來做校驗)。
4.傳輸資料
客戶端以packet為單位接收,先在本地快取,然後寫入目標檔案。
1.向nn請求上傳檔案
客戶端通過distributed filesystem模組向namenode請求上傳檔案,namenode檢查目標檔案是否已存在,父目錄是否存在。
2.nn響應可以上傳檔案
namenode返回是否可以上傳。
3.請求上傳第乙個block,請返回dn
客戶端請求第乙個 block上傳到哪幾個datanode伺服器上。
4.返回副本數的節點
預設namenode返回3個datanode節點,分別為dn1、dn2、dn3。返回規則使用機架感知機制。
5.客戶端建立block傳輸通道
客戶端通過fsdataoutputstream模組請求dn1上傳資料,dn1收到請求會繼續呼叫dn2,然後dn2呼叫dn3,將這個通訊管道建立完成。
6.dn逐個應答
dn1、dn2、dn3逐級應答客戶端。
7.傳輸資料packer
客戶端開始往dn1上傳第乙個block(先從磁碟讀取資料放到乙個本地記憶體快取),以packet為單位,dn1收到乙個packet就會傳給dn2,dn2傳給dn3;dn1每傳乙個packet會放入乙個應答佇列等待應答。
8.客戶端給nn傳送傳輸完成
當乙個block傳輸完成之後,客戶端再次請求namenode上傳第二個block的伺服器。(重複執行3-7步)
Hadoop學習之HDFS讀流程
hdfs讀流程圖 假設需要讀取hdfs根目錄下的bigdata.log檔案,使用如下命令 整個流程如下 1 客戶端會呼叫distributedfilesystem.open方法與namenode進行rcp通訊,namenode會返回該檔案的部分或全部的 block列表 也包含該列表各block的分布...
Hadoop中HDFS工作原理
hadoop其實並不是乙個產品,而是一些獨立模組的組合。主要有分布式檔案系統hdfs和大型分布式資料處理庫mapreduce。由於目前主要用到hdfs,所以這裡看一下它的工作原理,以及相應的介紹下配置。什麼是hdfs?hadoop distributed file system,字面意思,hadoo...
hadoop學習筆記 HDFS原理
文章內容摘自書籍,網際網路的部落格的一些集合和個人的理解。hdfs原理 hadoop提供了可靠的共享儲存和分析的系統,hdfs實現儲存,mapreduce實現分析處理,這兩部分是hadoop的核心,由於hdfs是為了高資料吞吐量而優化的,是以高時間延遲為代價,所以要求低延遲的資料訪問應用不適合在hd...