Hadoop之HDFS概述
Hadoop之HDFS概述
目錄
1. HDFS產生背景
隨著數據量越來越大,在一個操作系統管轄的范圍內存不下了,那么就分配到更多的操作系統管理的磁盤中,但是不方便管理和維護,迫切需要一種系統來管理多臺機器上的文件,這就是分布式文件管理系統。HDFS只是分布式文件管理系統中的一種。
2. HDFS概念
HDFS(Hadoop Distributed File System),它是一個文件系統,用于存儲文件,通過目錄樹來定位文件;其次,它是分布式的,由很多服務器聯合起來實現其功能,集群中的服務器有各自的角色。
HDFS的設計適合一次寫入,多次讀出的場景,且不支持文件的修改。適合用來做數據分析,并不適合用來做網盤應用。
3. HDFS優缺點
優點
1)高容錯性
(1)數據自動保存多個副本。它通過增加副本的形式,提高容錯性;
(2)某一個副本丟失以后,它可以自動恢復。
2)適合大數據處理
(1)數據規模:能夠處理數據規模達到GB、TB、甚至PB級別的數據;
(2)文件規模:能夠處理百萬規模以上的文件數量,數量相當之大。
3)流式數據訪問,它能保證數據的一致性。
4)可構建在廉價機器上,通過多副本機制,提高可靠性。
缺點
1)不適合低延時數據訪問,比如毫秒級的存儲數據,是做不到的。
2)無法高效的對大量小文件進行存儲。
(1)存儲大量小文件的話,它會占用NameNode大量的內存來存儲文件、目錄和塊信息。這樣是不可取的,因為NameNode的內存總是有限的;
(2)小文件存儲的尋址時間會超過讀取時間,它違反了HDFS的設計目標。
3)不支持并發寫入、文件隨機修改。
(1)一個文件只能有一個寫,不允許多個線程同時寫;
(2)僅支持數據append(追加),不支持文件的隨機修改。
4. HDFS組成架構
HDFS組成架構如圖
這種架構主要由四個部分組成,分別為HDFS Client、NameNode、DataNode和Secondary NameNode。下面我們分別介紹這四個組成部分。
1)Client:就是客戶端。
(1)文件切分。文件上傳HDFS的時候,Client將文件切分成一個一個的Block,然后進行存儲;
(2)與NameNode交互,獲取文件的位置信息;
(3)與DataNode交互,讀取或者寫入數據;
(4)Client提供一些命令來管理HDFS,比如啟動或者關閉HDFS;
(5)Client可以通過一些命令來訪問HDFS;
2)NameNode:就是Master,它是一個主管、管理者。
(1)管理HDFS的名稱空間;
(2)管理數據塊(Block)映射信息;
(3)配置副本策略;
(4)處理客戶端讀寫請求。
3) DataNode:就是Slave。NameNode下達命令,DataNode執行實際的操作。
(1)存儲實際的數據塊;
(2)執行數據塊的讀/寫操作。
4) Secondary NameNode:并非NameNode的熱備。當NameNode掛掉的時候,它并不能馬上替換NameNode并提供服務。
(1)輔助NameNode,分擔其工作量;
(2)定期合并Fsimage和Edits,并推送給NameNode;
(3)在緊急情況下,可輔助恢復NameNode。
總結
以上是生活随笔為你收集整理的Hadoop之HDFS概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hadoop之Hadoop基础知识面试复
- 下一篇: Hadoop之HDFS常用Shell命令