您好,登錄后才能下訂單哦!
本篇內容主要講解“HDFS文件系統的介紹”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“HDFS文件系統的介紹”吧!
上一節我們簡單介紹了hadoop主要由三大塊組成:分布式文件系統(HDFS)、分布式計算框架(MapReduce)、分布式調度器(yarn)組成,從這節課開始,我們逐一的詳細介紹這些技術。本節課,就詳細了解一下分布式文件系統--HDFS。
文件系統: 文件系統(file system)是命名文件及放置文件的邏輯存儲和恢復的系統,我的理解就是管理文件命名及存放的一種軟件系統。
常見的格式有:windows下:FAT\FAT32\NTFS Linux下:Ext2 Ext3 Mac OS 下:HFS
分布式系統: 分布式文件系統(Distributed File System,DFS)是指文件系統管理的物理存儲資源不一定直接連接在本地節點上,而是通過計算機網絡 與節點(可簡單的理解為一臺計算機)相連;
常見的有: GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS、FastDFS等。各自適用于不同的領域。它們都不是系統級的分布式文 件系統,而是應用級的分布式文件存儲服務。
文件系統是一個很龐大的概念,這里只是很簡單的一個介紹。
HDFS是大數據系統的基礎,它提供了基本的存儲功能, HDFS的思想很簡單,就是namenode負責數據存儲位置的記錄,datanode負責數據的存儲。使用者client 會先訪問namenode詢問數據存在哪,然后去datanode存儲;寫流程也基本類似,會先在namenode上詢問寫到哪,然后把數據存儲到對應的datanode上。所以 namenode作為整個系統的靈魂,一旦它掛掉了,整個系統也就無法使用了。
1、 這里有幾個概念:
namenode:主節點,主要負責HDFS集群的管理以及元數據信息管理
datanode:從節點,主要負責存儲用戶數據
secondaryNameNode:輔助namenode管理元數據信息,以及元數據信息的冷備份
注:怎么一理解元數據,最簡單的一個比喻,我們在windows系統中在一個文件上鼠標右鍵選擇屬性所顯示的內容就是元數據,簡單說就是描述文件名稱、
位置、大小等信息的數據。HDFS系統正是通過namenode來保存文件在哪里,有多大,權限等等屬性的。
2、HDFS的存儲空間
通過上圖,我們可以看出,HDFS的總存儲容量集群中所有的磁盤相加的和,比如上圖中,HDFS對上層應用系統提供了共60T的空間,上層應用不需要知道
自己保存的文件具體在那一臺服務器上。
在Hadoop中,一個文件被劃分成大小固定的多個文件塊,分布的存儲在集群中的節點中。我們將這個劃分的塊稱之為:block,block塊的大小可以通過hdfs-site.xml當中的配置文件進行指定。在hadoop1當中,文件的block塊默認是64M,hadoop2、3默認是128M,。
通過上圖,我們可以看出:幾個概念:
1、blocak劃分:一個300M的文件,按128M的劃分,被分成了三塊,分別是blk1、blk2、blk3,
2、副本:我們可以看出第一個block塊,都有三個副本,分別存在同一集群的不同的機器上,(注意:副本數可以根據配置文件設置)
注: 如果有一個文件大小為1KB,也是要占用一個block塊,但是實際占用磁盤空間還是1KB大小。所以,HDFS不適合存儲小文件的場景,比如我們
應用系統中的一些附件上傳,通常文件都不會太大(小于64M),所以,就不適用使用HDFS來存儲。
提一個問題:為什么我們不能通過修改配置文件,來讓HDFS適用于存儲小文件。(提示:和namenode有關,namenode的數據量會非常大)。
先盜一張圖來看看,網上基本上都用這張圖來說事:
HDFS集群包括,NameNode和DataNode以及Secondary Namenode。
NameNode負責管理整個文件系統的元數據,包括hdfs目錄樹、每個文件有哪些塊、每個塊存儲在哪些datanode
DataNode 負責管理用戶的文件數據塊,每一個數據塊都可以在多個datanode上存儲多個副本。
Secondary NameNode用來監控HDFS狀態的輔助后臺程序,每隔一段時間獲取HDFS元數據的快照。最主要作用是輔助namenode管理元數據信息
到此,相信大家對“HDFS文件系統的介紹”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。