HDFS(Hadoop Distributed File System)的讀寫流程主要包括以下步驟:
寫入數(shù)據(jù)的流程:
1.客戶端請(qǐng)求寫入數(shù)據(jù)到HDFS。
2.客戶端將數(shù)據(jù)劃分為數(shù)據(jù)塊(block),通常大小為128MB(可配置)。
3.客戶端與NameNode通信,詢問(wèn)要將數(shù)據(jù)塊寫入哪些DataNode(存儲(chǔ)節(jié)點(diǎn))。
4.NameNode返回一組DataNode的列表,客戶端選擇其中一個(gè)作為主要副本(Primary Replica)。
5.客戶端直接與主要副本的DataNode建立連接,并將數(shù)據(jù)塊寫入該DataNode。
6.主要副本的DataNode將數(shù)據(jù)塊寫入本地磁盤。
7.主要副本的DataNode與其他副本的DataNode進(jìn)行數(shù)據(jù)復(fù)制,將數(shù)據(jù)塊復(fù)制到其他副本所在的DataNode。
8.一旦所有副本的DataNode都確認(rèn)寫入成功,主要副本的DataNode將響應(yīng)寫入成功的消息給客戶端。