星期四, 9月 05, 2013

Hadoop存放的block size 建議/ 檔案大小建議

Ref:

Q1:
Hadoop存放的block size為何建議不能太小, 至少64MB128MB?
Block size如果太小, 容易有一個問題, data node重開機 或毀損時, 太多細小檔案, 會增加copy replica的時間, 就好比在linux裡面copy 大量小檔案時速度快不起來, 是一樣的道理。

Q2:
Hadoop存放的各個物件檔案, 不建議太小?

因為namenode在記憶體中存儲hdfs中的檔資訊。每個檔案、目錄或區塊(block)需要大約150Byte
如果HDFS 有一百萬個檔案或資料夾, 則共需要150 Byte * 1000000 / 1024/ 1024 = 143MB的記憶體空間, 建議粗估300MB(Name node : heap size)
而真正的速度影響是, 在執行map-reduce工作時, 需要不斷的去reference參照各個檔案, 造成Java MR process的時候, Name nodedata node交換的檔案資訊變多大大的拖慢了parsing的速度。

另外一個考量, 
存放一百萬個檔案,每個都是 64 MB,那空間總共為 64 TB。如果平均每個是 64 KB,那只能儲存 64 GB。

沒有留言:

LinkWithin-相關文件

Related Posts Plugin for WordPress, Blogger...