Hadoop Core_HDFS總結(三)——思考問題
阿新 • • 發佈:2018-12-20
一、HDFS 為何要講檔案分成 block 塊儲存?
減少底層作業系統的 IO 讀取時的定址時間方便更高效的流式讀取,提高吞吐量
二、HDFS block 塊的預設大小時多少?
dfs.blocksize 為 Hadoop 定義 block 塊大小的設定引數,在 hdfs-site.xml 中版本不一樣,預設值不同。Hadoop2.2.x 及以後版本均為 128M
三、HDFS block 塊的大小是否可以更改?
可以修改。引數修改對以前的檔案不起作用,對以後的檔案起作用。也可以針對上傳檔案臨時修改,指定-D dfs.blocksize即可。
四、一個 block 塊檔案是否可以儲存多個檔案資料?
一個 block 塊檔案不會跨檔案儲存。一個 block 塊檔案最多隻會儲存一個檔案對應的資料
五、如果一個檔案的大小,小於一個 blocksize,那麼它實際佔用多大空間?
實際檔案多大則佔多大空間,但是佔了一個 block 塊的元資料空間大小(在namenode)
實際檔案多大則佔多大空間,但是佔了一個 block 塊的元資料空間大小(在namenode),GB、TB甚至PB等。
六、HDFS block 越大越好?還是越小越好?
越大則分塊越少,則 NameNode 壓力將減小,但並行的 IO 和處理能力降低
越小則分塊越多,則 NameNode 處理壓力越大,但因為定址時間太久,不利於提高吞吐量
適中即可,一般採用官方的 128M 即可