HDFS儲存計算題

2021-08-20 12:27:16 字數 1530 閱讀 5191

hdfs是主從架構,適合儲存大檔案

example1 .1個檔案是130m,hdfs預設塊的大小是128m,問這個檔案分為幾個快,實際儲存容量?

answer:分為2個塊,128m+2m,實際儲存還是130m

example2.

dfs.blocksize 134217728=128m

1m=1024kb 1kb=1024位元組

hdfs小檔案儲存:2m 3m 5m 每乙個小檔案都要佔據乙個快,(檔案合併實際生產中需要)

example3:

hdfs的namenode類似windows系統中的檔案目錄名

一輛車128000ml的空間

乙個瓶子 是128ml的空間

每個瓶子只有3-5ml的水

儲存的實際內容:1000*3-5=3000~5000ml

瓶子有名稱,1000個瓶子*檔名稱位元組數

1000個瓶子*30個位元組=30000位元組

擴充套件:乙個中文漢字=2個位元組,繁體字=3個位元組,

小檔案過多的話對於namenode的壓力相當大

對於1個g的nn節點來說

namenode能夠維護多少萬個小檔名稱:1000*1024*1024 / 30=3495 2533.333個小檔案的檔名稱

我們最大維護3495 2533個小檔案 ,每個小檔案是1m,每個小檔案都會佔據block塊,

假設3495 2533m檔案合併成1個檔案?

34952533 / 128 = 273066 個塊

也就是只有乙個名稱

如何理解

1個檔名稱是30個位元組 –>nn 假設只有1000m空間

檔案大小是130m –>dn

小檔案合併成大檔案:

3495 2533個小檔案,每個小檔案是1m,名稱是30個位元組 = 1000m

3495 2533 個block

3495 2533m 壓縮成 乙個檔案128m的檔案:27 3067個檔案

27 3067個檔名稱*30個位元組 = 7.8m

nn維護壓力從1000m–>7.8m

nn:儲存檔名稱

dn:儲存資料塊和儲存資料塊校驗和

snn:每隔一小時將namenode裡的元資料、操作記錄、操作日誌(metadata(name,replicas,..)/home/foo/data,3…)把他們拉到snn節點再傳送給nn,可以理解為1小時的checkpoint(備份)

舉個例子:

nn 13:00

snn 13:00

fsimage:每小時生成的映象檔案

editlog:讀寫操作記錄

snn每隔一小時將fsimage和editlog打包成乙個新的映象傳送給nn

立個flag,過一段時間我還能看的懂

計算題(直接遞迴)

problem description 乙個簡單的計算,你需要計算f m,n 其定義如下 當m 1時,f m,n n 當n 1時,f m,n m 當m 1,n 1時,f m,n f m 1,n f m,n 1 input 第一行包含乙個整數t 1 t 100 表示下面的資料組數。以下t行,其中每組資...

專案管理 計算題

3.2動態投資 期 3.差額投資 期 四 線性規劃 五 非線性規劃 六 後悔值決策 七 概率問題 八 最短路徑 計畫評估和審查技術,program evaluation and review technique 預 幣值 expected monetary value emv 又稱風險暴露值 風險期...

OJ之函式計算題

time limit 1 sec memory limit 64 mb submit 276 solved 217 submit status web board description 乙個簡單的計算,你需要計算f m,n 其定義如下 當m 1時,f m,n n 當n 1時,f m,n m 當m ...