大數據筆記(二):HDFS原理知識

      網友投稿 717 2025-03-31

      HDFS原理知識

      一、前言

      博主語錄:一文精講一個知識點,多了你記不住,一句廢話都沒有

      經典語錄:張牙舞爪的人,往往是脆弱的。因為真正強大的人,是自信的,自信就會溫和,溫和就會堅定

      二、思考

      分布式文件系統(tǒng)那么多 為什么hadoop項目中還要開發(fā)一個hdfs文件系統(tǒng)?

      三、理論知識點

      存儲模型

      架構設計

      角色功能

      元數據持久化

      安全模式 副

      本放置策略

      讀寫流程

      四、存儲模型

      文件線性按字節(jié)切割成塊(block),具有offset,id

      文件與文件的block大小可以不一樣

      一個文件除最后一個block,其他block大小一致

      block的大小依據硬件的I/O特性調整

      block被分散存放在集群的節(jié)點中,具有l(wèi)ocation

      Block具有副本(replication),沒有主從概念,副本不能出現(xiàn)在同一個節(jié)點

      副本是滿足可靠性和性能的關鍵

      文件上傳可以指定block大小和副本數,上傳后只能修改副本數

      一次寫入多次讀取,不支持修改

      支持追加數據

      五、?架構設計

      HDFS是一個主從(Master/Slaves)架構

      由一個NameNode和一些DataNode組成

      面向文件包含:文件數據(data)和文件元數據(metadata)

      NameNode負責存儲和管理文件元數據,并維護了一個層次型的文件目錄樹

      DataNode負責存儲文件數據(block塊),并提供block的讀寫

      DataNode與NameNode維持心跳,并匯報自己持有的block信息

      Client和NameNode交互文件元數據和DataNode交互文件block數據

      六、角色功能

      NameNode

      完全基于內存存儲文件元數據、目錄結構、文件block的映射

      需要持久化方案保證數據可靠性

      提供副本放置策略

      DataNode

      基于本地磁盤存儲block(文件的形式)

      并保存block的校驗和數據保證block的可靠性

      與NameNode保持心跳,匯報block列表狀態(tài)

      七、元數據持久化

      任何對文件系統(tǒng)元數據產生修改的操作,Namenode都會使用一種稱為EditLog的事務日志記錄下來

      使用FsImage存儲內存所有的元數據狀態(tài)

      使用本地磁盤保存EditLog和FsImage

      EditLog具有完整性,數據丟失少,但恢復速度慢,并有體積膨脹風險

      FsImage具有恢復速度快,體積與內存數據相當,但不能實時保存,數據丟失多

      NameNode使用了FsImage+EditLog整合的方案:

      滾動將增量的EditLog更新到FsImage,以保證更近時點的FsImage和更小的EditLog體積

      八、安全模式

      HDFS搭建時會格式化,格式化操作會產生一個空的FsImage

      當Namenode啟動時,它從硬盤中讀取Editlog和FsImage

      將所有Editlog中的事務作用在內存中的FsImage上

      并將這個新版本的FsImage從內存中保存到本地磁盤上

      然后刪除舊的Editlog,因為這個舊的Editlog的事務都已經作用在FsImage上了

      Namenode啟動后會進入一個稱為安全模式的特殊狀態(tài)。

      處于安全模式的Namenode是不會進行數據塊的復制的。

      Namenode從所有的 Datanode接收心跳信號和塊狀態(tài)報告。

      每當Namenode檢測確認某個數據塊的副本數目達到這個最小值,那么該數據塊就會被認為是副本安全(safely replicated)的。

      在一定百分比(這個參數可配置)的數據塊被Namenode檢測確認是安全之后(加上一個額外的30秒等待時間),Namenode將退出安全模式狀態(tài)。

      接下來它會確定還有哪些數據塊的副本沒有達到指定數目,并將這些數據塊復制到其他Datanode上。

      九、HDFS中的SNN

      SecondaryNameNode(SNN)

      在非Ha模式下,SNN一般是獨立的節(jié)點,周期完成對NN的EditLog向FsImage合并,減少EditLog大小,減少NN啟動時間

      根據配置文件設置的時間間隔fs.checkpoint.period ?默認3600秒

      根據配置文件設置edits log大小 fs.checkpoint.size 規(guī)定edits文件的最大值默認是64MB

      十、Block的副本放置策略

      第一個副本:放置在上傳文件的DN;如果是集群外提交,則隨機挑選一臺磁盤不太滿,CPU不太忙的節(jié)點。

      第二個副本:放置在于第一個副本不同的 機架的節(jié)點上。

      第三個副本:與第二個副本相同機架的節(jié)點。

      更多副本:隨機節(jié)點。

      十一、HDFS寫流程

      Client和NN連接創(chuàng)建文件元數據

      NN判定元數據是否有效

      NN處發(fā)副本放置策略,返回一個有序的DN列表

      Client和DN建立Pipeline連接

      Client將塊切分成packet(64KB),并使用chunk(512B)+chucksum(4B)填充

      Client將packet放入發(fā)送隊列dataqueue中,并向第一個DN發(fā)送

      第一個DN收到packet后本地保存并發(fā)送給第二個DN

      第二個DN收到packet后本地保存并發(fā)送給第三個DN

      這一個過程中,上游節(jié)點同時發(fā)送下一個packet

      生活中類比工廠的流水線:結論:流式其實也是變種的并行計算

      Hdfs使用這種傳輸方式,副本數對于client是透明的

      大數據筆記(二):HDFS原理知識

      當block傳輸完成,DN們各自向NN匯報,同時client繼續(xù)傳輸下一個block

      所以,client的傳輸和block的匯報也是并行的

      十二、HDFS讀流程

      為了降低整體的帶寬消耗和讀取延時,HDFS會盡量讓讀取程序讀取離它最近的副本。

      如果在讀取程序的同一個機架上有一個副本,那么就讀取該副本。

      如果一個HDFS集群跨越多個數據中心,那么客戶端也將首先讀本地數據中心的副本。

      語義:下載一個文件:

      Client和NN交互文件元數據獲取fileBlockLocation

      NN會按距離策略排序返回

      Client嘗試下載block并校驗數據完整性

      語義:下載一個文件其實是獲取文件的所有的block元數據,那么子集獲取某些block應該成立

      Hdfs支持client給出文件的offset自定義連接哪些block的DN,自定義獲取數據

      這個是支持計算層的分治、并行計算的核心

      Hadoop 大數據

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:引入低代碼開發(fā)平臺的方法(低代碼 開發(fā))
      下一篇:wps表格怎樣制作簽到表(wps簽到表格怎么做)
      相關文章
      亚洲精品美女久久久久久久| 亚洲人成网站在线在线观看| 亚洲成a∧人片在线观看无码 | 日韩精品一区二区亚洲AV观看| 国产AⅤ无码专区亚洲AV | 久久久久亚洲精品成人网小说| 亚洲午夜久久久久久噜噜噜| 国产综合亚洲专区在线| 亚洲最大av无码网址| 久久久青草青青国产亚洲免观 | 亚洲熟妇色自偷自拍另类| 蜜芽亚洲av无码精品色午夜| 亚洲人成影院在线| 亚洲日韩区在线电影| 久久综合亚洲色一区二区三区| 久久精品国产亚洲77777| 亚洲精品人成电影网| 国产大陆亚洲精品国产| 男人的天堂亚洲一区二区三区| 亚洲欧美第一成人网站7777| 亚洲精华国产精华精华液| 国产天堂亚洲精品| 中文字幕亚洲一区二区三区| 亚洲色大成网站WWW久久九九| 国产亚洲人成网站观看| 亚洲AV福利天堂一区二区三| 亚洲精品中文字幕麻豆| 亚洲一卡2卡4卡5卡6卡残暴在线| 456亚洲人成影院在线观| 亚洲欧洲日产国码久在线| vvvv99日韩精品亚洲| 亚洲中文字幕无码中文字在线| 亚洲精品国精品久久99热一| 亚洲AV福利天堂一区二区三| 亚洲国产精品张柏芝在线观看| 亚洲精品天堂在线观看| 深夜国产福利99亚洲视频| 国产AV无码专区亚洲AV手机麻豆| 亚洲AV成人精品网站在线播放| 亚洲日本在线播放| 亚洲美国产亚洲AV|