客戶端讀寫資料到HDFS的流程

2021-09-30 01:19:16 字數 1107 閱讀 6210

(1) 客戶端發出寫資料請求,hadoop fs –put ./localfile.txt /hdfsfile.txt 本地的localfile.txt檔案大小是170mb,而hdfs預設的block大小是128mb,因此這個檔案將會被分成兩個block

(2) namenode首先檢查這個檔案在hdfs中是否存在,如果存在則報錯,如果不存在返回ok

(3) 請求寫block1,而hdfsfile.txt有兩個block,且3個副本,那麼總共是6個block

(4) namenode告訴client,block1寫到哪幾個datanode中去,例如:返回datanode1、datanode2、datanode3

(5) 與datanode1建立資料傳輸連線

(6) datanode1與datanode2建立資料傳輸連線

(7) datanode2與datanode3建立資料傳輸連線

(8) 成功建立,返回ok

(9) 成功建立,返回ok

(10) 成功建立,返回ok

(11) 傳輸block1的資料,datanode1會將block1寫到本地

(12) 傳輸block2的資料與block1的資料傳輸過程一樣

(13) block都傳輸完成之後,namenode會記錄元資料資訊:

hdfsfile.txt

block1 三副本 分別在datanode1 datanode2 datanode3

block2 三副本 分別在xx xx xx

(1)讀請求,hadoop fs –get /hdfsfile.txt

(2)返回檔案的元資料資訊,例如檔案的block1 在datanode1、datanode2、datanode3,block2在datanode2、datanode3、datanode4

(3)傳送讀取block1的請求

(4)資料流返回

(5)傳送讀取block2的請求

(6)資料流返回

HDFS客戶端讀寫流程及checkpoint

1 客戶端請求上傳資料到伺服器 2 伺服器接收到這個請求,然後到自己的元資料裡面去查詢,元資料中是否記錄了該檔案的存在 3 nn響應客戶端是否可以上傳 4 伺服器會傳送再次請求,需要上傳多大的資料檔案 5 伺服器會檢查datanode的資訊 6 伺服器會根據上傳檔案大小進行排程,排程出最合適的dat...

客戶端寫資料到HDFS

1 客戶端通過對 distributed filesystem 物件呼叫 create 函式來建立檔案 步驟 1 2 distributedfilesystem對namenode 建立乙個 rpc 呼叫,在檔案系統的命名空間中建立乙個新檔案,此時該檔案中還沒有相應的資料塊 步驟2 namenode ...

hdfs客戶端操作

hdfs的客戶端有多種形式 網頁形式 命令列形式 客戶端在 執行,沒有約束,只要執行客戶端的機器能夠跟hdfs集群聯網 檔案的切塊大小和儲存的副本數量,都是由客戶端決定!所謂的由客戶端決定,是通過配置引數來定的 hdfs的客戶端會讀以下兩個引數,來決定切塊大小 副本數量 切塊大小的引數 dfs.bl...