HDFS簡(jiǎn)介

分布式文件系統(tǒng)

特點(diǎn)

  • 容忍硬件故障,3個(gè)副本,RS(x,y)糾刪碼 RS(10,4)膨脹率1.4 RAID5
  • 流式數(shù)據(jù)存儲(chǔ) 只支持追加,刪除,而不能修改
  • 大數(shù)據(jù)集 (100w個(gè)文件300m內(nèi)存)
  • 簡(jiǎn)單的一致性模型 (是強(qiáng)一致性),不支持隨機(jī)讀取
  • 移動(dòng)計(jì)算比移動(dòng)數(shù)據(jù)劃算 “數(shù)據(jù)本地性“
  • 異構(gòu)軟硬件可移植性

概念

  • 硬盤(pán) 塊大小一般為512B 每個(gè)文件系統(tǒng)都有默認(rèn)塊大小 xfs:4KB NTFS:4KB
  • HDFS 塊 默認(rèn)128MB (分塊=》chunk) 一個(gè)小文件不會(huì)占一整個(gè)塊(硬盤(pán)會(huì))

分布式文件系統(tǒng)引入塊的好處

  • 便于管理大文件
  • 簡(jiǎn)化了文件系統(tǒng)的設(shè)計(jì)
  • 對(duì)容錯(cuò)性的提升
  • 對(duì)并行性的提升

NAMENODE

  • 主/從 架構(gòu),每個(gè)集群一般只要1個(gè)(正在工作的)NAMENODE

  • NameNode管理文件系統(tǒng)的命名空間(namespace) 即管理文件系統(tǒng)元數(shù)據(jù),兩個(gè)文件永久保存在本地磁盤(pán):命名空間鏡像文件(fsimage)和編輯日志文件(editlog)

  • Name記錄每個(gè)塊所在DataNode的信息, 而DataNode維護(hù)塊所在磁盤(pán)位置

  • NAMENODE目錄結(jié)構(gòu)

    /dfs/nn/current/VERSION
    1. namespaceID
    2. clusterID
    3. blockpoolID
    4. cTime
    5. sotrageType
    6. layoutVersion
    /dfs/nn/in_use.lock

    /dfs/nn/current/edit.log

    記錄著當(dāng)前時(shí)間內(nèi)存中的事物,一定閾值后會(huì)寫(xiě)到fsiamge

    hdfs oev -i edits_... -o ~/edit.xml -> 將edit文件(二進(jìn)制)轉(zhuǎn)換成xml可視文件

    /dfs/nn/current/fsimage

    包換所目錄和文件inode的序列化信息(元信息),只記錄塊和DD的對(duì)應(yīng)關(guān)系

    Hfs oiv -i ... -o ... -> fsimage -> webhdfs、xml

    永久性還原點(diǎn)

DATENODE

  • DataNode是文件系統(tǒng)的工作節(jié)點(diǎn)

  • DataNode根據(jù)客戶端的請(qǐng)求來(lái)讀或者寫(xiě)數(shù)據(jù)

  • DATANODE文件目錄

    /dfs/dn/current/BP-...

    HDFS塊存儲(chǔ)在blk前綴的文件中,存一部分原始數(shù)據(jù)以及meta文件存儲(chǔ)頭部信息和校驗(yàn)和信息

    當(dāng)目錄已經(jīng)存儲(chǔ)了64個(gè)數(shù)據(jù)塊,就會(huì)新建一個(gè)子目錄

JournalNode

共享存儲(chǔ)

nn(active) editlog -> journalNode -> nn(standby)

復(fù)制塊的放置

副本因子為3時(shí),第一個(gè)數(shù)據(jù)塊放置到本地機(jī)架(RACK)的一個(gè)節(jié)點(diǎn)(如果客戶端在集群外,就隨機(jī)選擇一個(gè)節(jié)點(diǎn)),另一份數(shù)據(jù)塊放置到異機(jī)架的一個(gè)節(jié)點(diǎn),最后一份數(shù)據(jù)塊放置到與第二塊同一個(gè)機(jī)架的另一個(gè)節(jié)點(diǎn)。

重啟

  1. 加載fsimage到內(nèi)存,進(jìn)入安全模式(只讀)
  2. 執(zhí)行時(shí)間戳后的edit.log生成新的fsimage
  3. DA向NN報(bào)告文件,當(dāng)文件收集99.9%時(shí),退出安全模式

Balancer

兩個(gè)參數(shù)

  1. 閾值 5 -> 最大% - 最小% < 5% 停止重平衡

HA

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容