HDFS寫檔案的過程

2021-08-18 12:15:30 字數 1160 閱讀 9610

1、副本及儲存策略:

2、寫檔案的網路流量及磁碟空間:

網路流量=磁碟空間=檔案size*dfs.replication
3、寫資料的流程

* client將檔案file1劃分出blocks     ——       block1、block2、block3...

* client向nn發出寫block的請求 —— 檔案file1的block1

* nn響應client的請求 —— 指示client將file1的block1寫到如下位置:

* rack1 上的 datanodea、datanodeb

* rack2 上的 datanodec

* client向datanodea發出寫block的請求:

* 檔案file1的block1

* 並告知還需將block寫到datanodeb和datanodec

* datanodea一邊將資料存入自身磁碟,一邊向datanodeb發出寫block的請求,具體內容同上一步驟

* datanodeb一邊將資料存入自身磁碟,一邊向datanodec發出寫block的請求,具體內容同上一步驟

* datanodec完成block資料儲存後,響應datanodeb:

* 告知自身對file1-block1的儲存已經正常完成。

* 自身同時儲存元資料(file1,block1,block1start...)

* datanodeb接收到datanodec的響應後,響應datanodea:

* 告知對file1-block1的儲存已經正常完成。

* 自身同時儲存元資料(file1,block1,block1start..)

* datanodea接收到datanodec的響應後,響應client。

* datanodea、datanodeb、datanodec在儲存乙個新的block後,會向nn傳送報告,nn會及時更新file1-block1的元資料:

* (fiel1,block1,replicationids)

* replicationid1,datanodea

* replicationid2,datanodeb

* replicationid3,datanodec

HDFS寫資料過程

1 客戶端向namenode請求上傳檔案,namenode在元資料中查詢是否滿足上傳條件 路徑是否存在,檔案是否存在等 2 元資料系統返回資訊告知客戶端,可以上傳檔案 3 rpc請求上傳第乙個block 0 128m 請求返回datanode 4 元資料系統向客戶端返回若干個datanode 因為一...

HDFS寫檔案解析

client通過distributedfilesystem物件呼叫create 方法建立檔案,實際上通過rpc呼叫了namenode的方法。namenode收到client的請求之後,執行各種檢查 1.確認要傳檔案目前在hdfs上不存在,2.client具有寫的許可權 如果通過則會為新檔案建立一條記...

HDFS寫檔案流程

hdfs寫入檔案流程圖如下 1 客戶端呼叫distributed filesystem.create path 方法,與namenode進行rpc通訊,引數為路徑path。檢查傳入的路徑是否存在,以及當前使用者是否有寫入許可權。假如都滿足,就建立乙個新的檔案,但是此時並不關聯任何的block。並且返...