大資料學習Hdfs詳解1

2021-08-30 04:21:28 字數 1551 閱讀 7521

hdfs架構設計: 主從

nn 主 名稱節點 扮演老大的角色

snn 第二名稱節點 --》nn 扮演二把手的角色

dn 從 資料節點 扮演小弟的角色

dfs.blocksize : 134217728 / 128m 不滿128m也算乙個塊

例如:hdfs-site.xml下的引數dfs.replication 為1, 在生產上一般是3 , 指的是乙個塊的複製數

我們來看看這幾個程序分別做什麼事?

nn: 是檔案系統的命名空間

作用:

管理檔案系統的命名空間,維護檔案系統樹,以兩種檔案永久儲存在磁碟。

a. 命名空間映象檔案fsimage

b. 編輯日誌editlog

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

與nn通訊: 很多大資料框架都是通過netty做的

儲存:fsimage + editlog

作用: 定期合併fsimage+editlog檔案為新的fsimage,推送給nn,稱檢查點,checkpoint

檢查點引數:

dfs.namenode.checkpoint.period: 3600 (name checkpoint的週期為3600秒),即老大掛掉的話我可以備份乙個小時之內的檔案,就是這樣的乙個關係(定期備份)

fsimage: 映象檔案 檔案系統樹 全量 14:00

editlog:操作日誌 讀寫的操作記錄 增量 14:40-14:30

那麼增量怎麼變成全量呢,—> snn做的事

例如:snn在15:00時,會將14:00的fsimage + 14:00~15:00的editlog 合併成乙個新的image —> 15:00 fsimage

snn流程圖

資料是以塊儲存在datanode節點

第乙個副本:

假設我提交檔案的所在機器就是datanode節點,

那麼第乙個塊就儲存在本節點上;

如果不是,就隨機挑選一台磁碟不太慢的 cpu不太繁忙的節點上;(老大知道,因為小弟會定時心跳的,會發訊息給老大)

如果沒有機架的話,另外兩塊分別就放在該機架的兩台不同機器上,如果有另外機架時:

第二個副本:

放置在於第乙個副本的不同的機架的節點上

第三個副本:

與第二個副本相同的機架的不同的節點上

假如將ruozedata.log傳到linux機器上的/user/hadoop/day01/目錄下,

hdfs dfs -put ruozedata.log /user/hadoop/day01/

在提交時,

大資料 學習hdfs

hdfs是什麼?hadoop distributed file system,它是一種分布式檔案儲存系統,主要解決大資料的儲存問題。hdfs的優缺點 優點 缺點 hdfs的主要角色 namenode 簡稱nn 是hdfs的核心節點,最重要 主要功能是 接收客戶端的讀寫請求,接收datanode傳送的...

大資料學習 關於hdfs

高容錯性 適合處理大資料 可構建在廉價機器上 不適合低延時資料訪問 無法高效的對大量小檔案進行儲存 儲存大量小檔案的話,它會占用namenode大量的記憶體來儲存檔案目錄和塊資訊。小檔案儲存的定址時間會超過讀取時間 不支援併發寫入 檔案隨機修改 乙個檔案只能有乙個寫,不允許多個執行緒同時寫 data...

獲取hdfs (大資料)HDFS

hdfs 是 hadoop 的分布式檔案系統,主要用於離線的大檔案資料資料儲存。hdfs 架構 hdfs 其實與作業系統的檔案系統類似,hdfs 主要有兩種角色,乙個是 namenode 檔案索引 另乙個是 datanode 儲存資料 namenode 主要負責記錄乙個檔案的儲存元資料 例如 檔名 ...