7 Hadoop HDFS框架 詳解 1

2021-08-16 16:52:21 字數 1539 閱讀 8029

(1)hdfs 源自於google的gfs**

*發表於2023年10月

*hdfs是gfs的轉殖版

(2)hadoop distributed file system

*易於擴充套件的分布式檔案系統

*執行在大量普通連線機器上,提供容錯機制

*為大量使用者提供效能不錯的檔案訪問服務

(3) namenode

*namenode 是乙個中心伺服器,節點單一

(簡化系統的設計和實現),

負責管理檔案系統的名字空間(namespace)以及客戶端對檔案的訪問

*檔案操作,

namenode負責檔案元資料的操作,datanode負責處理檔案內容的讀寫請求

,與檔案內容相關的資料流不經過namenode,只會詢問它跟哪個datanode聯絡,否則namenode會成文系統的瓶頸

*副本存放在那些datanode是由namenode來控制的,根據全域性情況作出塊放置決定,

讀取檔案時namenode盡量讓使用者先讀取最近的副本

,降低帶塊消耗和讀取時延   

*namenode全權

管理資料塊的複製

,它週期性的從集群中的每個datamode接受心跳訊號和塊狀態報告

。接受到心跳訊號意味著該datanode節點正常工作。

塊狀態包含乙個該datanode上所有資料塊列表

(4)datanode

*乙個資料塊在datanode以檔案儲存在磁碟,包括2個檔案,乙個是資料本身,乙個是元資料報括資料塊長度,資料塊的校驗和,以及時間戳

*datanode啟動後會像namenode註冊,通過後,週期性(1小時)的想namenode上報所有的塊資訊

*心跳是每3秒一次,心跳返回結果帶有namenode給該datanode的命令,如複製資料塊到另一台機器,或刪除某個資料塊,如果超過10分鐘沒有收到某個datanode的心跳,則認為這個節點不可用

*集群執行中可以安全的加入和退出一些機器

(5)檔案

*檔案切分成塊

(預設大小128m),以塊為單位,

每個塊有多個副本儲存在不同的機器上

,副本數可以再檔案生成是指定(預設3)

*namenode 是主節點,

儲存檔案的元資料

,如檔名,檔案目錄結構,檔案屬性(生成時間,副本數,檔案許可權),以及每個檔案的塊列表以及塊所在的datanode等

*datanode在本地檔案系統存

儲檔案塊資料

,以及塊資料的校驗和

*可以建立、刪除、移除或重新命名檔案,當檔案建立、寫入和關閉之後不能修改檔案內容

。  (6)資料損壞(corruption)處理

*當datanode讀取block的時候,它會計算checksum      

*如果計算後的checksum,與block建立時的不一樣,說明block已經損壞

*client讀取其他datanode上的block

* namenode標記該塊已經損壞,然後複製到block達到預期設定的檔案備份數

*datanode在其檔案建立後三周驗證其checksum

Hadoop hdfs原理詳解

首先,hdfs是hadoop的分布式檔案系統,簡單的說就是hadoop用來儲存檔案的,hdhs是乙個主從結構,乙個hdfs是由namenode 名字節點 和若干個datanode 資料節點 稍後詳細介紹,hdfs對外開放檔案命名空間並允許使用者資料以檔案形式儲存。由上圖可以看出hdfs是通過分布式集...

hadoop hdfs上傳檔案詳解

客戶端要向hdfs寫資料,首先要跟 namenode 通訊以確認可以寫檔案並獲得接收檔案 block 的datanode 然後,客戶端按順序將檔案逐個 block 傳遞給相應 datanode 並由接收到 block 的datanode 負責向其他 datanode 複製block 的副本 1 根n...

大資料框架hadoop HDFS高可用

日誌型別資料 爬蟲型別的資料 關係型資料庫的資料 統計分析 畫像分析 打標籤 資料推薦 namenode管理者儲存在檔案系統上檔案的元資料,在做畫像分析的時候,由於頻繁訪問namnode讀寫資料,導致namenode掛掉了,怎麼辦?管理子節點 子節點在啟動的時候,也去找standby的namenod...