hdfs 檔案提交與mr作業提交流程分析

2021-07-17 01:41:09 字數 953 閱讀 9160

看了不少東西,想把他們總結出來,若有錯誤還望不吝賜教

在hdfs架構中可以吧client認為是送貨人,nn是倉庫管理員,dn是乙個個倉庫。當客戶端要送貨(檔案)的時候,進行如下步驟

1.送貨員通過rpc通訊告知倉庫管理員(nn)說我這裡有貨物,請告訴我放在**啊

2.倉庫管理員通過查詢所維護的倉庫資訊查出哪個倉庫有空餘空間,將查詢結構反饋給送貨員

3.送貨員將貨物放入管理員所說的倉庫即可

·4.為了保證安全性,倉庫會對貨物進行複製冗餘儲存多份(在其他倉庫中)

5.在倉庫裝載貨物的同時會將自身剩餘的空間匯報給倉庫管理員,管理員對自己的賬本做出更新

6.儲存成功後倉庫會回傳告知送貨員儲存成功

在以上過程中有幾點需要注意:

1.檔案是按一塊一塊儲存的,客戶端申請空間也是一塊一塊的申請,這是為了防止因為dn出現狀況能夠快速恢復

2.dn在收到資料後會與nn進行通訊,當發現nn中配置資訊顯示要儲存兩份副本時,變水平複製檔案知道滿足nn要求

3.最好不要儲存過多小檔案原因是nn上會在記憶體與磁碟空間中個儲存乙份資料的元資訊,如果小檔案過多,nn的記憶體將成為瓶頸,拖慢速度

4.blk大小為128m,但是小檔案所佔空間仍是其真實大小

任務提交過程為:

1.client與rm進行rpc通訊

2.rm返回給客戶端jobid與jar包存放路徑資訊傳給client

3.client對jobid與路徑進行拼接後將jar包和路徑傳遞給hdfs,預設在hdfs中儲存10份

4.client將job資訊資訊再傳給rm,rm將資訊放入排程器中

6.將結果寫會hdfs

kafka手動提交與自動提交

kafka的提交分為手動提交和自動提交 自動提交 kafka enable auto commit 手動提交 enable auto commit bean public mapconsumerconfigs 獲取kafka手動提交的配置 return map bean public mapcons...

git 提交與更新

git 檔案修改之後提交 提交到git 1 檢視檔案版本庫中的檔案狀態 git status2 對比檔案修改前和修改後的變化 文字的修改為新增了一行,即文字開頭有加號的地方。如果刪除一行,文字開頭為減號。git diff4 提交修改內容與提交新檔案是一樣的兩步 1 git add 檔名 2 git ...

form表單提交與ajax提交的差別

第一種 表單提交form submit方式 form提交是我們經常使用的向後台提交資料的一種方式 action設定url,method設定http請求的方式。第二種 ajax非同步請求方式 ajxa首先是要通過js獲取到使用者輸入內容,然後可以對輸入的內容進行ajxa請求傳送到後台進行乙個驗證,驗證...