大量小檔案不適合儲存於HDFS的原因
1、小檔案過多,會過多佔用namenode的記憶體,並浪費block。
- 檔案的後設資料(包括檔案被分成了哪些blocks,每個block儲存在哪些伺服器的哪個block塊上),都是儲存在namenode上的。
HDFS的每個檔案、目錄、資料塊佔用150B,因此300M記憶體情況下,只能儲存不超過300M/150=2M個檔案/目錄/資料塊的後設資料
- dataNode會向NameNode傳送兩種型別的報告:增量報告和全量報告。
增量報告是當dataNode接收到block或者刪除block時,會向nameNode報告。
全量報告是週期性的,NN處理100萬的block報告需要1s左右,這1s左右NN會被鎖住,其它的請求會被阻塞。
2、檔案過小,尋道時間大於資料讀寫時間,這不符合HDFS的設計:
HDFS為了使資料的傳輸速度和硬碟的傳輸速度接近,則設計將尋道時間(Seek)相對最小化,將block的大小設定的比較大,這樣讀寫資料塊的時間將遠大於尋道時間,接近於硬碟的傳輸速度。
相關文章
- 如何獲取HDFS上檔案的儲存位置
- 大資料檔案儲存系統HDFS大資料
- HDFS 07 - HDFS 效能調優之 合併小檔案
- 必須掌握的分散式檔案儲存系統—HDFS分散式
- PHP匯出大量資料,儲存為CSV檔案PHP
- hdfs小檔案分析
- Hadoop 基石HDFS 一文了解檔案儲存系統Hadoop
- 簡單2步就能將大量檔案歸類儲存
- Flume採集資料時在HDFS上產生大量小檔案的問題
- Hdfs儲存策略
- 分散式檔案儲存hdfs簡介及常用命令分散式
- Hadoop 三劍客之 —— 分散式檔案儲存系統 HDFSHadoop分散式
- 塊儲存 檔案儲存 物件儲存物件
- 檔案儲存
- 資料儲存--檔案儲存
- 分散式檔案系統HDFS,大資料儲存實戰(一)分散式大資料
- FastDFS 海量小檔案儲存解決之道AST
- 資料庫恢復中需要大量儲存空間的原因HQ資料庫
- 批量刪除大量小檔案
- HDFS分散式儲存分散式
- 儲存json檔案JSON
- CSV檔案儲存
- Android 檔案儲存Android
- Android中的資料儲存之檔案儲存Android
- IPFS的檔案儲存模式模式
- Pandas之EXCEL資料讀取/儲存/檔案分割/檔案合併Excel
- Flutter持久化儲存之檔案儲存Flutter持久化
- 修改hosts檔案不生效原因
- 小專案不適合微服務?別扯犢子了!微服務
- python 儲存檔案jsonPythonJSON
- hive檔案儲存格式Hive
- XSKY星辰天合專利小檔案歸併技術提升儲存效率和效能
- 物件儲存 vs 檔案儲存 vs 塊儲存,選哪個?物件
- python到底適不適合大型專案呢?Python
- 如何將MAC的檔案儲存至NAS網路儲存?Mac
- 電腦Hosts檔案修改後無法儲存的原因及解決方法教程
- 設定儲存檔案的目錄
- laradock 檔案儲存遇見的坑