讀:
實質是客戶端從datanode中取資料(去哪取,取哪個)
namenode返回目標檔案的元資料
客戶端根據機架感知選取相對應的datanode上的目標檔案塊(檔案當初的切塊可能不唯一,從不同datanode取出所有)
將所有檔案塊合併
寫:
實質是客戶端往datanode中放資料(切得所有塊怎麼放,副本怎麼處理)
客戶端先去namenode查詢並請求上傳檔案
namenode響應
客戶端向namenode發起上傳第一塊請求
namenode給出儲存在那些節點比如123(因為預設副本數為3)
客戶端向datanode1建立傳輸通道,datanode1在向datanode2建立通道,datanode2在向datanode3建立通道。(保證了副本同步)
datanode3向datanode2應答,datanode2向datanode1等逐級應答,如果發生錯誤失聯等情況,客戶端重新向namenode請求節點,並逐級建立通道
客戶端開始上傳第一塊內容,以package為單位,傳完乙個傳乙個。
客服端向namenode發起上傳第二塊請求,重複第一塊的步驟
hdfs讀寫流程 HDFS 讀寫流程(詳解)
hdfs hadoop distributed file system 是gfs的開源實現。1 優點 因為有多個副本,可以保證資料可靠,容錯性高 計算向資料移動,適用於批處理 適合大資料處理,gb tb pb級資料,百萬以上的檔案,十萬以上的節點 可以構建在廉價機器上,通過多副本提高可靠性 2 缺點...
hdfs讀寫流程 HDFS 檔案讀寫流程
開啟分布式檔案 呼叫分布式檔案 distributedfilesystem.open 方法 定址請求 從 namenode 處得到 datanode 的位址,distributedfilesystem使用 rpc 方式呼叫了namenode,namenode 返回存有該副本的datanode 位址,...
hdfs讀寫流程
1.client發起檔案上傳請求 通過rpc和namenode建立連線,namenode檢查目標檔案是否存在,檢查父目錄是否存在,檢查使用者是否有許可權,返回是否可以上傳 2.client請求第乙個block該傳輸到那些datanode伺服器上 3.namenode根據配置檔案中指定的備份數量及機架...