Glusterfs之小檔案優化

2021-07-25 04:25:58 字數 764 閱讀 9713

小檔案優化主要是通過優化檔案操作的過程和iocache來達到優化的目的。

一、小檔案速度比較快的儲存系統的特點(fastdfs,mogilefs(主要適合小檔案),swift(小於50kb速度很快)):

1)通過定位器直接可以定位檔案儲存的節點,而不用遍歷所有節點;

2)檔案路徑長度一定,不會造成路徑深度不一致,不會造成查詢時間不一致;

3)要讀取乙個檔案一般分為2個步驟:

4)hash演算法或者資料庫查詢獲得檔案儲存的位址;

5)http或者socket直接到對應位址去取資料,路徑的解析僅僅在儲存節點發生;

6)快取機制,在swift,mogilefs中均採用memcached技術做快取技術

(swift使用者儲存賬戶與容器伺服器,mogilefs主要用於快取資料庫內容,則兩則均是比較小的內容);

7)這幾個系統元資料獲取方式的很快。

二、glusterfs小檔案速度慢的原因:

1)每個檔案要操作前,路徑均會到每個節點上去查詢,並且每級均需要檢查資料夾是否需要修復(修復是否耽誤查詢時間),

查詢檔案的元資料比較耗費時間,檔案比較小的情況下查詢時間可能大於讀時間或者寫時間(檔案系統讀寫檔案均是分塊即chunk);

2)分布式模式每級目錄下的目錄項均由所有分布式組內的內容組成,特別是檔案(這種情況ls所有目錄項時表現出來);

3)fuse的引入導致路徑的每一級解析查詢都會由客戶端發起,經過tcp,再在儲存端執行相應的操作;

4)glusterfs資料夾修復,檔案修復是否修復完再返回給客戶端

hive優化之小檔案合併

檔案數目過多,會給hdfs帶來壓力,並且會影響處理效率,可以通過合併map和reduce的結果檔案來消除這樣的影響 set hive.merge.mapfiles true 在 map only 的任務結束時合併小檔案 set hive.merge.mapredfiles false true 時在...

Hadoop小檔案優化

1 影響namenode的壽命,因為檔案元資料儲存在namenode的記憶體中 2 影響計算引擎的任務數量,比如每個小的檔案都會生成乙個map任務 1 合併小檔案 對小檔案進行歸檔 har 自定義inputformat將小檔案儲存成sequencefile文 件。2 採用combinefileinp...

HDFS小檔案的優化

hdfs上每個檔案都要在namenode 上建立乙個索引,這個索引的大小約為150byte,這樣當小檔案比較多的時候,就 會產生很多的索引檔案,一方面會大量的占用namenode 的空間,另一方面就是索引檔案過大時得索引速度變慢。hdfs小檔案解決方案 小檔案的優化無非以下幾種方式 1 在資料採集的...