hdfs儲存架構主要由三部分組成:namenode,datanode,client(1)開啟分布式檔案
呼叫 分布式檔案 distributedfilesystem.open()方法
(2)從 namenode 獲得 datanode 位址
distributedfilesystem 使用 rpc 呼叫 namenode,namenode 返回存有該副本的 datanode 位址,distributedfilesystem 返 回乙個輸入流 fsdatainputstream物件,該物件封存了輸入流 dfsinputstream
(3)連線到datanode
呼叫 輸入流 fsdatainputstream 的 read() 方法,從而 輸入流 dfsinputstream 連線 datanodes
(4)讀取datanode
反覆呼叫 read()方法,從而將資料從 datanode 傳輸到客戶端
(5)讀取另外的datanode直到完成
到達塊的末端時候,輸入流 dfsinputstream 關閉與datanode 連線, 尋找下乙個 datanode
(6)完成讀取,關閉連線
即呼叫輸入流 fsdatainputstream.close()
(8)故障處理:若過程中發生故障,則先關閉管線, 把佇列中所有資料報新增回去佇列,確保資料報不漏。為另乙個正常datanode的當前資料塊指定乙個新的標識,並將該標識傳送給namenode, 一遍故障datanode在恢復後刪除上面的不完整資料塊. 從管線中刪除故障datanode 並把餘下的資料塊寫入餘下正常的datanode。namenode發現複本量不足時,會在另乙個節點建立乙個新的複本
HDFS檔案的讀寫操作剖析
namenode namenode負責管理檔案目錄 檔案和block的對應關係以及block和datanode的對應關係。datanode datanode就負責儲存了,當然大部分容錯機制都是在datanode上實現的。二 hdfs基本架構圖 rack 是指機櫃的意思,乙個block的三個副本通常會...
HDFS儲存的機制之HDFS讀寫流程
7步 1.hdfs提供的客戶端client,向遠端的namenode發起rpc請求。2.namenode會檢查要建立的檔案是否已經存在,建立者是否有許可權進行操作。成功則會檔案建立乙個記錄,否則會讓客戶端丟擲異常。3.a 當客戶端client開始寫入檔案的時候,客戶端會將檔案切分成多個packets...
HDFS架構剖析和雙快取機制
hdfs hadoop distributed file system 的架構演變其實就是hadoop的更新迭代的過程,目前hadoop有hadoop1 hadoop2 hadoop3三個版本,對應的就有hdfs1,hdfs2,hdfs3。hdfs1是乙個主從架構,主節點只有乙個叫namenode,...