步驟:1
)客戶端通過
distributed filesystem
模組向namenode請求上傳檔案,namenode檢查目標檔案是否已存在,父目錄是否存在。 2
)namenode返回是否可以上傳。 3
)客戶端請求第乙個
block
上傳到哪幾個
datanode
伺服器上。 4
)namenode返回3個
datanode
節點,分別為
dn1、
dn2、
dn3。 5
)客戶端通過
fsdataoutputstream
模組請求
dn1上傳資料,
dn1收到請求會繼續呼叫
dn2,然後
dn2呼叫
dn3,將這個
通訊管道
建立完成。 6
)dn1
、dn2
、dn3
逐級應答客戶端。 7
)客戶端開始往
dn1上傳第乙個
block
(先從磁碟讀取資料放到乙個本地記憶體快取),以
packet
為單位,
dn1收到乙個
packet
就會傳給
dn2,
dn2傳給
dn3;
dn1每傳乙個
packet
會放入乙個應答佇列等待應答。
8)當乙個
block
傳輸完成之後,客戶端再次請求namenode上傳第二個
block
的伺服器。(重複執行3
-7步)。
步驟:1
)客戶端通過
distributed filesystem
向namenode
請求namenode
通過查詢元資料,找到檔案塊所在的
datanode
位址。
2)挑選一台
datanode
(就近原則,然後隨機)伺服器,請求讀取資料。
3)datanode
開始傳輸
資料給客戶端
(從磁碟裡面讀取資料輸入流,以
packet
為單位來做校驗)。 4
)客戶端以
packet
為單位接收,先在本地快取,然後寫入目標檔案。
HDFS讀寫資料流程
hdfs寫資料流程 client向namenode申請寫資料 namenode檢查許可權 是否存在該檔案等,返回是否可以上傳 如果namenode返回可以上傳,client申請上傳第乙個block,請求返回datanode namenode返回三個datanode位址 client請求向dn1,dn...
HDFS 讀寫資料流程
1.網路節點距離 機架感知 下圖中 client 到 dn1 的距離為 4 client 到 nn 的距離為 3 dn1 到 dn2 的距離為 2 2.block 的副本放置策略 namenode 通過 hadoop rack awareness 確定每個 datanode 所屬的機架 id 簡單但...
HDFS 讀 寫資料流程
客戶端通過 distributed filesystem 模組向 namenode 請求上傳檔案,namenode 檢查目標檔案是否已存在,父目錄是否存在 namenode 返回是否可以上傳 客戶端請求namenode,獲取第乙個 block 上傳到哪幾個 datanode 伺服器上 namenod...