hadoop--HDFS概述
目錄
- HDFS概述
- 1.HDFS產(chǎn)出背景及定義
- 2.HDFS優(yōu)缺點
- HDFS優(yōu)點
- HDFS缺點
- 3. HDFS組成架構(gòu)
- NameNode (nn)
- DataNode
- Client
- Secondary NameNode
- 4. HDFS文件塊大小(面試)
HDFS/Yarn/MapReduce概述==>
HDFS概述
1.HDFS產(chǎn)出背景及定義
1). HDFS產(chǎn)生背景
隨著數(shù)據(jù)量越來越大,在一個操作系統(tǒng)存不下所有數(shù)據(jù)的情況下,那么就會分配到更多的操作系統(tǒng)管理的磁盤中,但是不方便管理和維護,迫切需要一種系統(tǒng)來管理多臺機器上的文件,這就是分布式文件管理系統(tǒng)。 HDFS只是分布式文件管理系統(tǒng)中的一種。
2). HDFS定義
HDFS(Hadoop Distributed File System),它是一個文件系統(tǒng), 用于存儲文件,通過目錄樹來定位文件;其次,它是分布式的, 由很多服務(wù)器聯(lián)合起來實現(xiàn)其功能,集群中的服務(wù)器有各自的角色。
HDFS的使用場景:適合一次寫入,多次讀出的場景。 一個文件經(jīng)過創(chuàng)建、寫入和關(guān)閉之后就不需要改變。
2.HDFS優(yōu)缺點
HDFS優(yōu)點
1). 高容錯性
數(shù)據(jù)自動保存多個副本。它通過增加副本的形式,提高容錯性。
某一個副本丟失以后,它可以自動恢復(fù)。
2). 適合處理大數(shù)據(jù)
數(shù)據(jù)規(guī)模:能夠處理數(shù)據(jù)規(guī)模達到GB、TB、PB級別的數(shù)據(jù);
文件規(guī)模:能夠處理百萬規(guī)模以上的文件數(shù)量,數(shù)量相當大。
3). 可構(gòu)建在廉價機器上,通過多副本機制,提高可靠性。
HDFS缺點
1). 不適合低延時數(shù)據(jù)訪問,比如做不到毫秒級的存儲數(shù)據(jù)訪問;
2). 無法高效地對大量小文件進行存儲;
a. 存儲大量小文件,會占用NameNode大量的內(nèi)存來存儲文件目錄和塊信息;不可取,因為NameNode的內(nèi)存總是有限的。
b. 小文件存儲的尋址時間會超過讀取時間,它違反了HDFS的射擊目標。
3). 不支持并發(fā)寫入、文件隨機修改;
a. 一個文件只能有一個寫入,不允許多個線程同時寫;
b. 僅支持數(shù)據(jù)append(追加),不支持文件的隨機修改。
3. HDFS組成架構(gòu)
NameNode (nn)
: Master,它是管理者。
1). 管理HDFS的名稱空間;
2). 配置副本策略;
3). 管理數(shù)據(jù)塊(Block)映射信息;
4). 處理客戶端讀寫請求。
DataNode
: Slave,NameNode下達命令,DataNode執(zhí)行實際的操作。
1). 存儲實際的數(shù)據(jù)塊;
2). 執(zhí)行數(shù)據(jù)塊的讀/寫操作。
Client
: 客戶端。
1). 文件切分。 文件上傳HDFS的時候,Client將文件切分成一個一個的Block,然后進行上傳;
2). 與NameNode交互,獲取文件的位置信息;
3). 與DataNode交互,讀取/寫入數(shù)據(jù);
4). Client提供一些命令來管理HDFS,比如NameNode格式化;
5). Client可以通過一些命令來訪問HDFS,比如對HDFS增刪改查操作;
Secondary NameNode
: 并非NameNode的熱備。當NameNode掛掉的時候,它并不能馬上替換NameNode并提供服務(wù)。
1). 輔助NameNode,分擔(dān)其工作量,比如定期合并Fsimage和Edits,并推送給NameNode;
2). 在緊急情況下,可輔助恢復(fù)NameNode。
4. HDFS文件塊大小(面試)
HDFS中的文件在物理上是分塊存儲(Block),塊的大小可以通過配置參數(shù)(dfs.blocksize)來規(guī)定,默認大小在Hadoop2.x / Hadoop3.x版本中是128M,1.x版本中是64M。
問題:為什么塊的大小不能設(shè)置太小,也不能設(shè)置太大?
1). HDFS的塊設(shè)置太小,會增加尋址時間,程序一直在找塊的開始位置;
2). 如果塊設(shè)置的太大,從磁盤傳輸數(shù)據(jù)的時間會明顯大于定位這個塊開始位置所需的時間。導(dǎo)致程序在處理這塊數(shù)據(jù)時,會非常慢。
總結(jié): HDFS塊的大小設(shè)置主要取決于磁盤傳輸速率。
總結(jié)
以上是生活随笔為你收集整理的hadoop--HDFS概述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hadoop--历史服务器配置
- 下一篇: 查看服务器cpu是否支持VT