分布式儲存 HDFS原理

2021-08-28 20:56:58 字數 2282 閱讀 5381

短時間內快速產生的海量的多種多樣的有價值的資料。

1、分布式儲存:

2、分布式計算:

1)分布式批處理:

當資料積累一定的時間後(假設乙個月),進行統一的處理。
2)分布式流處理
分布式流處理是乙個實時的處理。即資料生成後立即處理。
3、機器學習

凡是**類的都是機器學習。

分布式儲存

系統學習分布式儲存 過程(hdfs原理)

1 如果要上傳乙個大檔案,首先要計算大檔案的block數量,block數量=大檔案的大小/128m(一般採用128m為乙個block塊的大小)

2 client會向namenode匯報

1)當前大檔案的block數量

2)當前大檔案屬於誰 許可權

3)上傳時間

namenode的作用:

掌握全域性,管理datanode以及元資料

元資料儲存在記憶體中

接受客戶端client的讀寫服務

收集datanode匯報的block列表的資訊

namenode儲存metadata資訊包括

檔案的owner和permissions

檔案的大小,時間

(block列表:blockid)

block副本的位置(由datanode上報)

3由於檔案太大,超過128m所以得切割出來乙個個的block,先切割乙個block塊

4namenode去請求block塊的id號以及位址

5因為namenode能夠掌握全域性,管理所有的datanode,所以它會將負載不高的datanode的位址返回給client

6client拿到位址後,找到datanode上傳資料,

如何上傳:

namenode將位址返回後,block會切割成乙個個的packet,這些datanode之間會形成乙個pipeline管道,目的是:並行儲存,提高效率。

7datanode拿到位址後,會向namenode回報當前的儲存情況。

datanode的作用:

儲存block塊,向namenode匯報傳送心跳,傳送心跳是為了讓namenode知道自己在正常執行

接受client的讀請求,client不僅可以向datanode寫資料,也可以讀資料,獲取到位址後直接讀取。

8client繼續切割,直到上傳完成所有的資料。

問題:考慮到安全問題,資料做了兩個備份(預設兩份),所以在第6步上傳資料的時候,是向多台伺服器傳遞資料。

多台??:(1)如果是集群(多台伺服器組成)外namecode向client返回的三個位址,第乙個是負載不高的datanode,第二個位址是在其他機架(有多台伺服器)的隨機乙個伺服器上第三個位址是和第二個我位址位於同乙個機架的其他伺服器上。如果乙個機架出現問題,資料也不會丟失。

(2)如果是集群內返回位址,第乙個位置是當前的節點,第二個,第三個同上

namenode工作原理:

基本結構

edits:儲存操作資訊

edits儲存了namenode的操作資訊,當edits檔案中的資料達到一定的數量(64m)或者時間超過了規定的時間時,secondnamenode會將edits和fsimage,同時namenode生成新的edits.new去記錄操作,在secondnamenode中,會模擬執行edits檔案,產生元資料,並將元資料與fsimage合併,合併之後將fsimage推送給namenode,edits.new成為新的edits。這個過程就是元資料的持久化。

不是所有的元資料都會持久化,block的位置就不會,因為每次集群啟動時,伺服器會自己將block的位置傳遞給namenode.

注意:1 安全模式:

1)載入fsimage,載入到記憶體

2)如果edits檔案不為空,那麼namenode自己來合併

3)檢查datanode是否健康

4)如果有datanode不正常,指揮做備份

2處於安全模式的過程中,如果fsiamge已經載入到記憶體中,可以檢視到檔案目錄,但是無法讀取

3hdfs許可權控制:防君子,不妨小人

4hdfs集群不允許修改,檔案一旦上傳成功不能修改block塊的大小,禁掉的功能就是為了防止集群泛洪

HDFS 分布式儲存基石

hdfs是hadoop 分布式檔案系統。namenode與datanode 集群結構 hdfs讀取寫入過程 通過網路拓撲圖判斷距離 namenode深入 作用 儲存結構 啟動過程 開啟安全模式 不能執行資料修改操作 載入fsimage 逐個執行所有edits檔案中的每一條操作將操作合併到fsimag...

分布式儲存原理

當hdfs集群啟動之時,datanode會向namenode傳送資訊,包括block儲存位置,datanode位址。client向namenode匯報當前上傳檔案的資訊 block數量 檔案上傳時間 檔案許可權 擁有著 2.1client將大檔案切割成乙個個的block塊 以字元為單位進行切割 cl...

HDFS分布式原理 概念篇

hdfs分布式系統 2018年10月9日 11 50 什麼是大資料 短時間內快速的產生海量的多種多樣的有價值的資料 大資料的技術 分布式儲存 分布式計算 分布式批處理 資料積攢一段時間,在未來某一時刻一次性計算一批資料 分布式流處理 資料實時進行計算,產生一條計算一條 需要注意的是 角色在集群中都是...