HDFS快速入門

2022-05-06 13:12:10 字數 1754 閱讀 2283

hdfs【hadoop distributed file system】是hadoop元件中的分布式儲存系統,提供高可靠性、高擴充套件性和高吞吐率的資料儲存服務。

1.檔案線性切割成塊【block】,塊分散儲存在集群的各個節點中。

2.單一檔案block大小一致,不同的檔案可以設定的不一樣。

3.block可以設定副本數,副本分散在不同的節點【副本數不要超過節點數,這樣副本設定才有意義】。

4.檔案上傳可以設定block大小和副本數,已上傳的檔案block副本數可以調整,大小不變。

5.只支援一次寫入多次讀取,同一時刻只有乙個寫入,可以追加資料。

1.namenode【主】節點儲存檔案元資料,datanode節點儲存檔案block資料。

2.datanode和namenode之間通過心跳確認各個節點的健康情況,以及是否需要重啟節點。

3.hdfsclient與namenode互動元資料資訊,與datanode互動檔案block資料【需先訪問namenode】。

特點:1.基於記憶體儲存,不會和磁碟發生交換。

2.接受客戶端的讀寫請求,收集datanode匯報的block列表資訊。

3.儲存metadata資訊,包括:檔案ownership和permissions、檔案大小、時間、block列表、block偏移量、位置資訊和block副本位置【由datanode上報】等。

持久化:

1.namenode的metadata資訊在啟動後會載入到記憶體。

2.metadata儲存到磁碟檔名稱為"fsimage"。

3.block的位置資訊不會儲存到fsimage。

4.edits記錄對metadata的操作日誌。

特點:1.本地磁碟目錄儲存資料【block】,檔案形式

2.同時儲存block的元資料資訊檔案

3.啟動dn時會向nn匯報block資訊

4.通過向nn傳送心跳保持與其聯絡【3s一次】,如果nn10minutes沒有收到dn的心跳,則認為其已經lost,並copy其上的block到其它dn節點

它不是nn的備份【但可以做備份】,它主要的工作是幫助nn合併edits log,減少nn啟動時間。

snn執行合併時機

》根據配置檔案設定的時間間隔fs.checkpoint.period預設3600s

》根據配置檔案設定edits log大小fs.checkpoint.size規定edits檔案的最大值預設是64m

snn合併流程**:

1.高容錯性

》資料自動儲存副本

》副本丟失後自動恢復

2.適合批處理

》資料不動**動

》資料位置暴露給計算框架【block偏移量】

3.適合大資料處理

》gb、tb、甚至pb級別資料

》百萬規模以上的檔案數量

》10k+節點

4.可構建在廉價機器上

》通過多副本提高可靠性

》提供了容錯和恢復機制

1.小檔案訪問

》占用namenode大量記憶體

》尋道時間超過讀取時間

2.併發寫入、檔案隨機修改

》乙個檔案只能有乙個寫者

3.低延遲資料訪問

》資料延遲較大,比如毫秒級

》低延遲與高吞吐率成反比

簡單快速入手hdfs

為什麼會存在這篇文章,是因為我產生了以下問題,為了理清關係並解決疑惑。什麼是hdfs?需要搭建什麼樣的環境?hdfs只是乙個名詞,還是需要人為的去搭建環境?很多文章都在說hdfs的原理,我就想知道需不需要我去搭建?來自hadoop官網的截圖 簡單點,hadoop處理大資料,那麼必然面對資料的儲存問題...

HDFS入門之基本概念

hdfs 是 hadoop distribute file system 的簡稱,意為 hadoop 分布式檔案系統。是 hadoop 核心元件之一,作為最底層的分布式儲存服務而存在。分布式檔案系統解決的問題就是大資料儲存。它們是橫跨在多台計算機上的儲存系統。分布式檔案系統在大資料時代有著廣泛的應用...

大資料入門 HDFS的特性

目標 掌握hdfs具備的特性 1 海量資料儲存 hdfs可橫向擴充套件,其儲存的檔案可以支援pb級別或更高階別的資料儲存。2 高容錯性 資料儲存多個副本,副本丟失後自動恢復。可構建在廉價的機器上,實現線性擴充套件。當集群增加新節點之後,namenode也可以感知,進行負載均衡,將資料分發和備份資料均...