一HDFS概念
1.1概念
HDFS,它是一個文件系統(tǒng),全稱:Hadoop Distributed File System,用于存儲文件通過目錄樹來定位文件;其次,它是分布式的,由很多服務(wù)器聯(lián)合起來實現(xiàn)其功能,集群中的服務(wù)器有各自的角色。
1.2組成
1)HDFS
集群包括,NameNode和DataNode以及Secondary Namenode。
2)NameNode
負責(zé)管理整個文件系統(tǒng)的元數(shù)據(jù),以及每一個路徑(文件)所對應(yīng)的數(shù)據(jù)塊信息。
3)DataNode
負責(zé)管理用戶的文件數(shù)據(jù)塊,每一個數(shù)據(jù)塊都可以在多個datanode上存儲多個副本。
4)Secondary NameNode
用來監(jiān)控HDFS狀態(tài)的輔助后臺程序,每隔一段時間獲取HDFS元數(shù)據(jù)的快照。
1.3 HDFS文件塊大小

HDFS中的文件在物理上是分塊存儲(block),塊的大小可以通過配置參數(shù)( dfs.blocksize)來規(guī)定,默認大小在hadoop2.x版本中是128M,老版本中是64M
HDFS的塊比磁盤的塊大,其目的是為了最小化尋址開銷。如果塊設(shè)置得足夠大,從磁盤傳輸數(shù)據(jù)的時間會明顯大于定位這個塊開始位置所需的時間。因而,傳輸一個由多個塊組成的文件的時間取決于磁盤傳輸速率。
如果尋址時間約為10ms,而傳輸速率為100MB/s,為了使尋址時間僅占傳輸時間的1%,我們要將塊大小設(shè)置約為100MB。默認的塊大小128MB。
塊的大小:10ms*100*100M/s = 100M