1. 程式人生 > 資訊 >雷蛇釋出幻彩頭枕:支援 RGB 燈效,999 元

雷蛇釋出幻彩頭枕:支援 RGB 燈效,999 元

HDFS原理深入理解

1、HDFS概述

(1)資料量越來越多,在一個作業系統管轄的範圍存不下了,那麼就分配到更多的作業系統管理的磁碟中,但是不方便管理和維護,因此迫切需要一種系統來管理多臺機器上的檔案,這就是分散式檔案管理系統 。
(2)是一種允許檔案通過網路在多臺主機上分享的檔案系統,可讓多機器上的多使用者分享檔案和儲存空間。
(3)通透性。讓實際上是通過網路來訪問檔案的動作,由程式與使用者看來,就像是訪問本地的磁碟一般。
(4)容錯。即使系統中有某些節點宕機,整體來說系統仍然可以持續運作而不會有資料損失【通過副本機制實現】。
(5)分散式檔案管理系統很多,hdfs只是其中一種,不合適小檔案。

2、HDFS架構

3、主節點NameNode的概述

(1)NameNode是整個檔案系統的管理節點。它維護著整個檔案系統的檔案目錄樹,檔案/目錄的元資訊和每個檔案對應的資料塊列表。接收使用者的操作請求。
(2)檔案預設包括:
fsimage:元資料映象檔案。儲存某一時段NameNode記憶體元資料資訊。
edits:操作日誌檔案,namenode啟動後一些新增元資訊日誌。
fstime:儲存最近一次checkpoint的時間
(3)以上這些檔案是儲存在linux的檔案系統中:
	hdfs-site.xml的dfs.namenode.name.dir屬性

4、Secondary NameNode的描述

SNN的工作流程

5、從節點DataNode的概述

(1)提供真實檔案資料的儲存服務。
(2)檔案塊(block):最基本的儲存單位。
對於檔案內容而言,一個檔案的長度大小是size,那麼從檔案的0偏移開始,按照固定的大小,順序對檔案進行劃分並編號,劃分好的每一個塊稱一個Block。2.0以後HDFS預設Block大小是128MB,以一個256MB檔案,共有256/128=2個Block.
hdfs-site.xml中dfs.blocksize屬性
(3)不同於普通檔案系統的是,HDFS中,如果一個檔案小於一個數據塊的大小,並不佔用整個資料塊儲存空間
(4)Replication。多複本。預設是三個:
	hdfs-site.xml的dfs.replication屬性

6、HDFS 的Trash回收站

(1)和Linux系統(桌面環境)的回收站設計一樣,HDFS會為每一個使用者建立一個回收站目錄:/user/使用者名稱/.Trash/,每一個被使用者通過Shell刪除的檔案/目錄,fs.trash.interval是在指在這個回收週期之內,檔案實際上是被移動到trash的這個目錄下面,而不是馬上把資料刪除掉。等到回收週期真正到了以後,hdfs才會將資料真正刪除。預設的單位是分鐘,1440分鐘=60*24,剛好是一天。 
(2)配置:在每個節點(不僅僅是主節點)上新增配置 core-site.xml,增加如下內容
<property>
   <name>fs.trash.interval</name>
   <value>1440</value>
</property>
(3)注意:如果刪除的檔案過大,超過回收站大小的話會提示刪除失敗,需要指定引數 -skipTrash