一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
負(fù)責(zé)管理整個文件系統(tǒng)的元數(shù)據(jù)屁倔,以及每一個路徑(文件)所對應(yīng)的數(shù)據(jù)塊信息。
3)DataNode
負(fù)責(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ī)定口叙,默認(rèn)大小在hadoop2.x版本中是128M炼绘,老版本中是64M
HDFS的塊比磁盤的塊大嗅战,其目的是為了最小化尋址開銷。如果塊設(shè)置得足夠大俺亮,從磁盤傳輸數(shù)據(jù)的時間會明顯大于定位這個塊開始位置所需的時間驮捍。因而,傳輸一個由多個塊組成的文件的時間取決于磁盤傳輸速率脚曾。
如果尋址時間約為10ms东且,而傳輸速率為100MB/s,為了使尋址時間僅占傳輸時間的1%本讥,我們要將塊大小設(shè)置約為100MB珊泳。默認(rèn)的塊大小128MB。
塊的大锌椒小:10ms*100*100M/s = 100M