關於HDFS理解

2021-08-06 02:42:13 字數 2328 閱讀 3352

hadoop中hdfs的結構圖

hdfs:分布式檔案系統被設計成適合執行在通用硬體的分布式檔案系統。hdfs是乙個高度容錯的系統,適合部署在廉價伺服器上面,適合應用在集群。下面是hdfs的三個特點:

1.超大檔案:這裡的檔案指的是幾百gb甚至幾百tb的檔案,分別分布在集群中的伺服器。而目前已經有儲存pb級別的集群了。

2.採用流方式進行資料訪問:

(1) 而流方式是什麼呢?網上很多博主把流式資料方訪問比如為流水,特點就是,像流水一樣,不是一次過來而是一點一點「流」過來。而你處理流式資料也是一點一點處理。如果是全部收到資料以後再處理,那麼延遲會很大,而且在很多場合會消耗大量記憶體。

(2)一次寫入、多次讀取 :hdfs儲存的資料集作為hadoop的分析物件。在資料集生成後,長時間在此資料集上進行各種分析。每次分析都將設計該資料集的大部分資料甚至全部資料,因此讀取整個資料集的時間延遲比讀取第一條記錄的時間延遲更重要。

3.執行在廉價伺服器上

hdfs設計理念之一可以讓他執行在廉價硬體上面,即使硬體出現了錯誤,也可以通過容錯策略來保證資料的高可用。

下面是hdfs的概念圖

什麼是元資料

任何檔案系統中的資料分為資料和元資料。資料是指普通檔案中的實際資料,而元資料指用來描述乙個檔案的特徵的系統資料,諸如訪問許可權、檔案擁有者以及檔案資料塊的分布資訊(inode...)等等。在集群檔案系統中,分布資訊包括檔案在磁碟上的位置以及磁碟在集群中的位置。使用者需要操作乙個檔案必須首先得到它的元資料,才能定位到檔案的位置並且得到檔案的內容或相關屬性。這裡舉個例子:元資料在資料庫概念設計裡面是這樣描述的:描述資料的資料,比如在資料庫裡面建一張表,表名是user,那麼user就是元資料,因為系統可以根據元資料來獲取user表的資訊,比如user表的許可權,索引,資料庫列名等。

而hdfs就是將巨大的資料變成大量資料的

上面的途中元資料塊標識後生成了相應的磁碟塊,舉個例子,比如乙個資料長度為10000通過分片分為三份,分別是0~3333,3333~6666,6666~10000,那麼就會在元資料塊記錄了0~3333資料塊分布在磁碟1,儲存量為3333位元組,檢驗方式是什麼。其他分片資料依次類推。ps下面蔣結合大資料的namenode和datanode結合分析,加深元資料理解:

乙個hdfs檔案系統包括乙個主控節點namenode和多個datanode,其中namenode對應元資料,而datanode對應的是元資料描述的資料。

namenode:namenode是乙個主伺服器,用來管理整個檔案系統的命名空間和元資料,以及處理來自外界的檔案訪問請求。namenode 儲存了檔案系統的三種元資料:

1) 命名空間, 即整個分布式檔案系統的目錄結構;

2 ) 資料塊與檔名的對映表;

3) 每個資料塊副本的位置資訊,每乙個資料塊預設有3 個副本

datanode:namenode 上可以執行檔案操作,比如開啟、關閉、重新命名等; 而且namenode 也負責向datanode分配資料塊並建立資料塊和datanode 的對應關係。

datanode 負責處理檔案系統使用者具體的資料讀寫請求,同時也可以處理namenode 對資料塊的建立、刪除副本的指令。

典型的部署模式採用namenode單獨執行於一台伺服器節點上,其餘的伺服器節點,每一台執行乙個datanode

hdfs的基本訪問流程

首先,使用者的應用程式通過hdfs 的客戶端程式將檔名傳送至namenode 。

namenode 接收到檔名之後,在hdfs 目錄中檢索檔名對應的資料塊,再根據資料塊資訊找到儲存資料塊的datanode 位址,將這些位址回送給客戶端。

客戶端接收到datanode 位址之後,與datanode 並行地進行資料傳輸操作,同時將操作結果的相關日誌(比如是否成功,修改後的資料塊資訊等)提交到namenode 。

HDFS讀寫理解

block 一般設為128m,hdfs是按塊儲存的 packet packet是第二大的單位,它是client端向datanode,或者 datanode之間傳輸資料的基本單位,預設是 64k chunk chunk是最小的單位,它是client向datanode,或datanode的pipline...

HDFS原理深入理解

1 hdfs概述 1 資料量越來越多,在乙個作業系統管轄的範圍存不下了,那麼就分配到更多的作業系統管理的磁碟中,但是不方便管理和維護,因此迫切需要一種系統來管理多台機器上的檔案,這就是分布式檔案管理系統 2 是一種允許檔案通過網路在多台主機上分享的檔案系統,可讓多機器上的多使用者分享檔案和儲存空間。...

關於HDFS的讀寫流程

今天主要是和大家分享一下有關hdfs的讀寫流程,有關hadoop和其他相關的基礎我會在之後的大資料只是總結中一一的總結出來,有興趣的小夥伴可以關注我之後的更新 進入正題首先先由我這位靈魂畫手給大家上一張圖 首先先來說一下各自的功能 namenode 負責管理整個檔案系統的元資料,以及所對應資料塊的資...