HDFS檔案讀寫操作 (通俗易懂)
阿新 • • 發佈:2018-11-09
首先來介紹兩個概念
▪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、客戶端會將從網路中讀取的資料儲存到快取中,然後儲存到本地磁碟。
塊對映;處理客戶端的讀寫請求;配置副本策略;