請(qǐng)參考 上一個(gè) 鏈接地址:
hdfs為什么不擅長(zhǎng)存儲(chǔ)大量小文件
https://blog.51cto.com/12445535/2354951
概述:namenode replication(復(fù)制)
復(fù)制
默認(rèn)塊復(fù)制因子(dfs.replication)為3。復(fù)制影響磁盤空間但不影響內(nèi)存消耗。復(fù)制會(huì)更改每個(gè)塊所需的存儲(chǔ)量,但不會(huì)更改塊的數(shù)量。如果DataNode上的一個(gè)塊文件(由NameNode上的一個(gè)塊表示)被復(fù)制三次,則塊文件的數(shù)量將增加三倍,但不會(huì)代表它們的塊數(shù)。
關(guān)閉復(fù)制時(shí),一個(gè)192 MB的文件占用192 MB的磁盤空間和大約450字節(jié)的內(nèi)存。
//(計(jì)算方式為:128+64 也就是1個(gè)文件inode+2個(gè)塊 3150 大約消耗 450字節(jié)的內(nèi)存)
如果你有一百萬個(gè)這樣的文件,或192 TB的數(shù)據(jù),你需要192 TB的磁盤空間,而不考慮RPC工作負(fù)載,450 MB內(nèi)存:(100萬inode + 200萬個(gè)塊) 150個(gè)字節(jié)。啟用默認(rèn)復(fù)制后,您需要576 TB的磁盤空間:(192 TB * 3)但內(nèi)存使用率保持不變,450 MB。當(dāng)您考慮簿記和RPC,并遵循每百萬個(gè)塊1 GB堆內(nèi)存的建議時(shí),對(duì)此方案更安全的估計(jì)是2 GB內(nèi)存(有或沒有復(fù)制)。
例子
示例1:估計(jì)使用的NameNode堆內(nèi)存
Alice,Bob和Carl每個(gè)磁盤上都有1 GB(1024 MB)的數(shù)據(jù),但切成不同大小的文件。 Alice和Bob的文件是塊大小的一部分,需要的內(nèi)存最少。 Carl沒有用不必要的命名空間對(duì)象填充堆。
Alice:1 x 1024 MB文件
1個(gè)文件inode
????8塊(1024 MB / 128 MB)
總計(jì)= 9個(gè)對(duì)象* 150個(gè)字節(jié)= 1,350個(gè)字節(jié)的堆內(nèi)存
Bob:8 x 128 MB文件
8個(gè)文件inode
????8個(gè)塊
總計(jì)= 16個(gè)對(duì)象* 150個(gè)字節(jié)= 2,400個(gè)字節(jié)的堆內(nèi)存
Carl:1,024 x 1 MB文件
1,024個(gè)文件inode
????1,024個(gè)街區(qū)
總計(jì)= 2,048個(gè)對(duì)象* 150個(gè)字節(jié)= 307,200個(gè)字節(jié)的堆內(nèi)存
**計(jì)算實(shí)例//生產(chǎn)可用 根據(jù)已知磁盤大小去計(jì)算需要多大的namenode堆內(nèi)存
示例2:估計(jì)所需的NameNode堆內(nèi)存**
在該示例中,通過考慮群集的容量來估計(jì)存儲(chǔ)器。值四舍五入。兩個(gè)集群都物理存儲(chǔ)4800 TB或大約3600萬個(gè)塊文件(默認(rèn)塊大?。?。復(fù)制確定有多少名稱空間塊代表這些塊文件。
群集A:每個(gè)24 TB的200個(gè)主機(jī)= 4800 TB。
Blocksize = 128 MB,復(fù)制= 1
????以MB為單位的群集容量:200 24,000,000 MB = 4,800,000,000 MB(4800 TB)
????每個(gè)塊所需的磁盤空間:每塊128 MB 1 =每塊128 MB存儲(chǔ)空間
????塊中的群集容量:4,800,000,000 MB / 128 MB = 36,000,000塊
在容量方面,建議分配每百萬個(gè)塊1 GB的內(nèi)存,群集A需要36 GB的大堆空間。
群集B:每個(gè)24 TB的200個(gè)主機(jī)= 4800 TB。
Blocksize = 128 MB,復(fù)制= 3
????以MB為單位的群集容量:200 24,000,000 MB = 4,800,000,000 MB(4800 TB)
????每個(gè)塊所需的磁盤空間:每塊128 MB 3 =每塊384 MB存儲(chǔ)空間
????塊中的群集容量:4,800,000,000 MB / 384 MB = 12,000,000個(gè)塊
在容量方面,建議為每百萬個(gè)塊分配1 GB內(nèi)存,群集B需要12 GB的大堆空間。
群集A和群集B都存儲(chǔ)相同數(shù)量的塊文件。但是,在群集A中,每個(gè)塊文件都是唯一的,并由NameNode上的一個(gè)塊表示;在群集B中,只有三分之一是唯一的,三分之二是副本。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。