HDFS架構設計

2022-03-24 06:50:25 字數 2043 閱讀 8770

hdfs架構設計

程序namenode nn 名稱節點

secondary namenode snn 第二名稱節點

datanode dn 資料節點

主從架構

rack : 機架 可以放多個主機 10個 gpu主機 5個

nn: 檔案系統的命名空間

a.檔名稱

b.檔案目錄結構

c.檔案屬性 建立時間 許可權 副本數

d.檔案對應哪些資料塊

-->資料塊對應哪些datanode節點上

blockmap

nn節點不會持久化儲存這種對映關係

dn定期傳送blockreport 給nn,

以此nn在【記憶體】中動態維護這種對映關係!

假設 nn 8g記憶體,如果小檔案很多會撐爆了記憶體

(生產上 hdfs不適合儲存小檔案?為什麼不合適?如果真的有小檔案,該怎麼辦?該怎麼合併)

1個小檔案: nn節點需要250位元組

1億: 1億*250位元組 大

假如真的有小檔案 合併

100小檔案合併乙個大檔案 : nn節點需要300位元組

1億/100 * 300位元組 小

建議: 合併為乙個檔案盡量在塊大小 120m <=128m

作用:管理檔案系統的命名空間,

維護檔案系統樹,以兩種檔案永久儲存在磁碟上

命名空間映象檔案 fsimage

編輯日誌editlog

[root@hadoop001 current]# pwd

/tmp/hadoop-root/dfs/name/current

[root@hadoop001 current]# ll

total 1040

-rw-r--r--. 1 root root 1048576 feb 17 20:23 edits_inprogress_0000000000000000001

-rw-r--r--. 1 root root 321 feb 17 19:23 fsimage_0000000000000000000

-rw-r--r--. 1 root root 62 feb 17 19:23 fsimage_0000000000000000000.md5

-rw-r--r--. 1 root root 2 feb 17 19:23 seen_txid

-rw-r--r--. 1 root root 219 feb 17 19:23 version

[root@hadoop001 current]#

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

與nn通訊:

a.每隔3秒傳送乙個心跳

hadoop001:50070

b.每10次心跳傳送一次當前節點的blockreport

作用: 讀寫檔案的資料塊

snn:

儲存: fsiamge+editlog

作用: 定期合併fsimage+editlog檔案為新的fsimage檔案

推送個nn節點,簡稱為檢查點 checkpoint

引數 :

snn對nn每一小時備份一次,如果nn在12點30掛了,檔案損壞,那麼12點到12點半的資料相當於的資料snn沒有備份,用snn恢復只能恢復到12點的資料,所以這種架構是不可靠的,這種架構是在hadoop1.x上的架構,後邊有出現了ha,他有兩個nn,做了實時的熱備,snn相當於做了乙個冷備,ha如果乙個節點nn掛了,另乙個nn瞬間起來,對外提供服務。

editlog: 讀寫的記錄  

fsiamge: 讀寫的記錄

所在目錄/tmp/hadoop-root/dfs/name/current

secondarynamenode就是用來備份編輯日誌和映象檔案的

salesforce 架構設計 從架構設計到架構師

因為碎片化的時間多了,所以開始刷起某乎了,關注了架構相關的板塊,也順手回答了一些問題。發現有很多同道中人正在經歷著我前兩年經歷的階段,對於做架構沒有相對具象的一些理解,更沒有系統化的認識。所以把最近回答的一些內容整理一下,權當記錄,留給3年後的自己 按慣例,容許我裝x開頭 一 架構的定義 在軟體開發...

mysql架構設計 初識mysql架構設計

一 應用系統如何與mysql進行一次互動?最開始接觸jdbc的時候,我們系統如何完成一次sql操作呢?第一步,建立資料庫連線 第二步,操作sql 第三步,釋放連線。但是每次建立與資料庫的連線非常耗時和資源,所以我們加入了連線池的概念。第一步的獲取連線是從連線池中獲取乙個可用的連線,第三步的釋放連線不...

軟體架構設計 二 系統總體架構設計

系統總體架構非常重要,但在表達上都不盡相同,下面介紹幾種常用的系統架構模式,供參考 assf access service biz standard fundation 模式 訪問 服務 業務功能 標準 基礎,對系統架構各個層次均有表達,但部署應用模式需要有單獨說明,如下圖方式組織系統總體架構 lo...