hdfs(hadoop distributed file system), hadoop分布式檔案系統,主要用來解決海量資料的儲存問題,在大資料系統架構中為各類分布式運算框架(mapreduce、spark、tez,flink等)提供資料儲存服務。
前面我們已經講過分布式的儲存原理,下面來看看hdfs具體的架構實現:
從上圖可以看到,hdfs集群有3種角色:
a)namenode:主節點,集群老大,管理整個檔案系統的目錄樹,負責處理客戶端讀寫請求
b)secondarynamenode:合併元資料,用來幫namenode分擔壓力
c)datanode:從節點,儲存所有檔案的資料塊,真正處理資料讀寫
hdfs中的檔案是在物理上進行了分塊儲存(block),為保證資料安全,每個資料塊預設存3份。而資料塊的大小可以通過配置引數(dfs.blocksize)來設定,預設值在hadoop2.x版本中是128m,3.x是256m。即乙個500m的檔案在2.x版本的hadoop系統中缺省會被分成4個塊,每個塊都是一式三份存在3個不同節點。
我們再來了解一下hdfs的優缺點:
優點 適合大資料處理, gb、tb、甚至 pb 級資料,百萬規模以上的檔案數量,10k+節點規模
被設計用來構建在廉價機器上,通過多副本提高可靠性,提供了容錯和恢復機制
高容錯性,資料自動儲存多個副本,副本丟失後,自動恢復
流式檔案訪問,一次性寫入,多次讀取,保證資料一致性
缺點 延遲高(涉及到多個節點之間相互通訊)
不適合儲存小檔案(因為元資料資訊儲存在namenode記憶體中,一條block元資料資訊大約消耗150byte,儲存1億個block的話就需要大概15gb記憶體,增加了namenode的壓力,從而降低整個集群的效能)
不適合併發寫入、隨機修改場景,因為hdfs是採用追加的方式寫入資料
檢視檔案:hadoop fs -ls hdfs路徑
上傳檔案:hadoop fs -put 本地路徑 hdfs路徑
建立資料夾:hadoop fs -mkdir hdfs路徑
檢視檔案內容:hadoop fs -cat hdfs路徑
刪除檔案(夾):hadoop fs –rm –r hdfs路徑
自此,相信大家對於hdfs已經有了進一步的體會,我們下期再會!
獲取hdfs (大資料)HDFS
hdfs 是 hadoop 的分布式檔案系統,主要用於離線的大檔案資料資料儲存。hdfs 架構 hdfs 其實與作業系統的檔案系統類似,hdfs 主要有兩種角色,乙個是 namenode 檔案索引 另乙個是 datanode 儲存資料 namenode 主要負責記錄乙個檔案的儲存元資料 例如 檔名 ...
大資料小白系列 HDFS 2
這裡是大資料小白系列,這是本系列的第二篇,介紹一下hdfs中secondarynamenode 單點失敗 spof 以及高可用 ha 等概念。首先,在啟動的時候,將磁碟中的元資料檔案讀取到記憶體,後續所有變化將被直接寫入記憶體,同時被寫入乙個叫edit log的磁碟檔案。如果你熟悉關係型資料庫,這個...
大資料 學習hdfs
hdfs是什麼?hadoop distributed file system,它是一種分布式檔案儲存系統,主要解決大資料的儲存問題。hdfs的優缺點 優點 缺點 hdfs的主要角色 namenode 簡稱nn 是hdfs的核心節點,最重要 主要功能是 接收客戶端的讀寫請求,接收datanode傳送的...