HDFS文件系统的基础理论,HDFS工作者和管理者的分配,HDFS文件存储容量的理解
1.HDFS的文件系統介紹
HDFS是Hadoop Distribute File System 的簡稱,意為:Hadoop 分布式文件系統。是 Hadoop 核心組件之一,作為最底層的分布式存儲服務而存在。
HDFS角色作用簡介
HDFS分塊存儲
HDFS-分塊存儲圖片理解
一個文件100M,上傳到HDFS占用幾個快?
一個塊128M,剩余的28M怎么辦?
事實上,128只是個數字,數據超過128M,便進行切分,如果沒有超過128M,就不用切分,有多少算多少,不足128M的也是一個快。這個塊的大小就是100M,沒有剩余28M這個概念
抽象成數據塊的好處
1.一個文件有可能大于集群中任意一個磁盤
20T/128 = xxx塊,這些block塊屬于一個文件
2.使用塊抽象而不是文件,可以簡化存儲子系統。
3.塊非常適合用于數據備份進而提供數據容錯能力和可用性
HDFS副本機制
HDFS視硬件錯誤為常態,硬件服務器隨時有可能發生故障。
為了容錯,文件的所有 block 都會有副本。每個文件的 block 大小和副本系數都是可配置的。應用程序可以指定某個文件的副本數目。副本系數可以在文件創建的時候指定,也可以在之后改變。
數據副本默認保存三個副本,我們可以更改副本數以提高數據的安全性
在hdfs-site.xml當中修改以下配置屬性,即可更改文件的副本數
第一份數據來源于用戶的客戶端
第二份數據存放在與第一份副本在同一個機架,不同的節點,按照一定的機制(cpu 內存 io 使用率和節點磁盤剩余容量)選取一個節點進行存放
第三份副本存放在,與第一第二副本不在同一機架,且邏輯距離最近的機架上,按照一定的機制(cpu 內存 io 使用率和節點磁盤剩余容量),選擇一個節點進行存放
名字空間
HDFS 支持傳統的層次型文件組織結構。用戶或者應用程序可以創建目錄,然后將文件保存在這些目錄里。文件系統名字空間的層次結構和大多數現有的文件系統類似:用戶可以創建、刪除、移動或重命名文件。
Namenode 負責維護文件系統的名字空間,任何對文件系統名字空間或屬性的修改都將被Namenode 記錄下來。
HDFS 會給客戶端提供一個統一的目錄樹,客戶端通過路徑來訪問文件,形如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data。
例如:這張圖片我想找到ES系列轎車中的發動機型號 在圖片中顯示為第41頁
然后直接打開第41頁就可看到你想要看得東西
Namenode 功能
Namenode 負責維護整個hdfs文件系統的目錄樹結構,以及每一個文件所對應的 block 塊信息(block的id,及所在的datanode 服務器)
2. Namenode節點負責確定指定的文件塊到具體的Datanode結點的映射關系。在客戶端與數據節點之間共享數據。
3. 管理Datanode結點的狀態報告,包括Datanode結點的健康狀態報告和其所在結點上數據塊狀態報告,以便能夠及時處理失效的數據結點。
DataNnode每三秒向NameNode進行報告一次
總結
以上是生活随笔為你收集整理的HDFS文件系统的基础理论,HDFS工作者和管理者的分配,HDFS文件存储容量的理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AUTOSAR架构中的配置文件
- 下一篇: 阶梯博弈(Staircase Nim)