(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...