Hadoop系列之HDFS 高可用與容錯 14

2021-10-17 11:27:13 字數 1036 閱讀 1985

hdfs 是乙個分布式檔案系統,它會給檔案建立副本並把副本分發到集群的節點上,因此,在讀取資料的時候可以從多個節點上讀取。這對資料的容錯是非常有益的,在讀取的時候,節點掛了,可以去其他節點讀取相同的資料。hdfs 就是通過這種方式實現了資料的高可用和容錯。

乙個 hdfs 集群一般有很多 datanode 節點,並且會定期給 namenode 傳送心跳資訊,如果 namenode 在規定時間內沒接收到 datanode 的心跳資訊,那麼它就會認為該 datanode 發生故障了。接著它會檢查節點上的存在的資料,並給其他 datanode( 這些 datanode 儲存了損壞節點的資料 ) 傳送指令,建立資料的拷貝並儲存到另外的 datanode。因此,資料總是保持可用的。

從 hdfs 讀取資料時,namenode 會先檢查哪些 datanode 的資料是可用的,再把儲存資料的 datanode 位址列表返回。客戶端不需要遍歷集群的所有節點查詢資料,只需根據 namenode 提供的 datanode 位址列表,直接從對應的 datanode 讀取資料即可。

hdfs 容錯指的是集群部分機器宕機了,集群依然可以正常提供服務的能力。hdfs 是具有很好的容錯性的分布式儲存系統,它利用複製技術實現資料容錯能力,資料會被複製多份並儲存在集群的不同節點。這樣,集群中的某些機器宕機了,資料還可以從其他正常執行的機器獲取。如果有乙個機器宕機了,hdfs 會在其他可用的機器建立資料的副本,來保證該資料的副本數與集群的副本因子是一致的。

hdfs 通過複製程序來保證容錯機制。在檔案寫入 hdfs 時,hdfs 會首先把檔案分割成塊,並把這些資料塊儲存在集群不同機器上,然後在其他機器建立各個塊的副本,預設情況下,hdfs 會在其他機器建立3個檔案的副本。所以,hdfs 集群任意機器掛了,我們依然能從其他儲存資料副本的機器上讀取資料,由於這種獨特的分布式儲存特性,hdfs 給我們提供了更快的檔案讀寫機制。

Hadoop系列之HDFS 資料塊 12

要把大檔案儲存在 hdfs上,hdfs 會把大檔案分割成小塊,即我們通常說的資料塊 block 它是 hadoop 分布式檔案系統最小的儲存單元,而且我們沒辦法決定指定塊的儲存節點位址,這些 namenode 會替我們決定。資料塊預設大小是 128mb,比作業系統裡面的塊概念要大很多 作業系統塊大小...

Hadoop系列一HDFS簡介

namenode nn namenode的metadata資訊在啟動後會載入到記憶體中,metadata資訊儲存在磁碟檔案fsimage,edits檔案記錄對metadata的操作日誌,block位置資訊只存在記憶體,不儲存到fsimage。secondarynamenode snn 不是nn的備份...

hadoop系列三 HDFS操作

0 檢視hdfs中的目錄資訊 hadoop fs ls hdfs路徑 1 上傳檔案到hdfs中 hadoop fs put 本地檔案 aaa hadoop fs copyfromlocal 本地檔案 hdfs路徑 copyfromlocal等價於 put hadoop fs movefromloca...