HDFS依然是存储的王者
learn from 從0開始學大數據(極客時間)
1. HDFS 架構
DataNode 負責數據的存儲、讀寫,HDFS 將文件分割成若干數據塊(Block),每個 DataNode 存儲一部分數據塊,文件就分布存儲在整個 HDFS 服務器集群中
NameNode 負責分布式文件系統的元數據(MetaData) 管理,也就是文件路徑名、數據塊的 ID 以及存儲位置等信息,相當于操作系統中文件分配表(FAT)的角色
2. HDFS 的高可用設計
-
數據存儲故障容錯
對 DataNode 上的數據塊,計算并存儲校驗和(CheckSum)。
讀取時,重新計算讀出數據的校驗和,如果校驗拋出異常,程序捕獲異常后就到其他 DataNode 上讀取備份數據 -
磁盤故障容錯
DataNode 監測到本機某塊磁盤損壞,將該塊磁盤上存儲的所有 BlockID 報告給 NameNode,NameNode 檢查在哪些 DataNode 上有備份,復制備份到其他服務器上,保證備份數量 -
DataNode 故障容錯
DataNode 會通過心跳和 NameNode 保持通信,如果 DataNode 超時未發送心跳,NameNode 就認為 DataNode 已經宕機失效,進行查找、復制一份到其他服務器 -
NameNode 故障容錯
NameNode 是整個 HDFS 的核心,記錄著 HDFS 文件分配表信息, NameNode 故障,整個 HDFS 系統集群都無法使用
常用的保證系統可用性的策略: -
冗余備份:數據備份,請求分發發哦任何一個數據中心
-
失效轉移:數據無法訪問時,轉移請求到備份數據所在服務器
-
降級限流:大量請求到達,計算資源有限,拒絕部分請求(限流),關閉部分功能(降級),如雙11關閉評價,保證下單功能
總結
以上是生活随笔為你收集整理的HDFS依然是存储的王者的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天池 在线编程 最大子树(自底向上)
- 下一篇: LeetCode 1869. 哪种连续子