1. 程式人生 > >HDFS檔案讀寫操作 (通俗易懂)

HDFS檔案讀寫操作 (通俗易懂)

首先來介紹兩個概念

NameNode:領導級別。管

NameNode:領導級別。管理資料塊對映;處理客戶端的讀寫請求;配置副本策略;管理HDFS的名稱空間;

DataNode:員工級別。負責儲存客戶端發來的資料塊block;執行資料塊的讀寫操作。

理資料

寫詳細步驟:
1、首先向namenode通訊,請求上傳檔案,namenode檢查目標檔案是否已存在,父目錄是否存在 
2、namenode返回是否可以上傳 
3、client會先對檔案進行切分
4、namenode返回datanode的伺服器
 5、client請求一臺datanode上傳資料,第一個datanode 收到請求會繼續呼叫第二個,然後第二個呼叫第三個,將這個通訊管道建立完成,然後逐級應答
 6、client開始往A上傳第一個block(先從磁碟讀取資料放到一個本地記憶體快取),以packet為單位(一個packet為64kb),第一臺datanode收到一個packet就會傳給第二臺,第二臺傳給第三臺;第一臺每傳一個packet會放入一個應答佇列等待應答 
7、當一個block傳輸完成之後,client再次請求namenode上傳第二個block的伺服器。

 

讀詳細步驟:
1、跟namenode通訊,查詢元資料(block所在的datanode節點)
2、判斷讀取的檔案是否存在。存在,則響應客戶端該檔案儲存在datanode節點上。
3、客戶端收到可以讀檔案的響應後,根據拿到的datanode節點資訊,會與每個datanode節點建立網路連線,然後讀取儲存在每個datanode節點的block塊資料。
4、客戶端會將從網路中讀取的資料儲存到快取中,然後儲存到本地磁碟。

 

塊對映;處理客戶端的讀寫請求;配置副本策略;