Hadoop中namenode和secondarynamenode工作機(jī)制講解
1)流程
2)FSImage和Edits
nodenode是HDFS的大腦,它維護(hù)著整個(gè)文件系統(tǒng)的目錄樹,以及目錄樹里所有的文件和目錄,這些信息以倆種文件存儲(chǔ)在文件系統(tǒng):一種是命名空間鏡像(也稱為文件系統(tǒng)鏡像,File System Image,FSImage),即HDFS元數(shù)據(jù)的完整快照,每次NameNode啟動(dòng)的時(shí)候,默認(rèn)會(huì)加載最新的命名空間鏡像,另一種是命令空間鏡像的編輯日志(Edit log)。
FSImage文件其實(shí)是文件系統(tǒng)元數(shù)據(jù)的一個(gè)永久性檢查點(diǎn),但并非每一個(gè)寫操作都會(huì)更新這個(gè)文件,因?yàn)镕SImage是一個(gè)大型文件,如果頻繁地執(zhí)行寫操作,會(huì)使系統(tǒng)運(yùn)行極為緩慢。解決方案是NameNode只將改動(dòng)內(nèi)容預(yù)寫日志,即寫入命名空間鏡像的編輯日志.隨著時(shí)間的推移,編輯日志會(huì)變得越來越大,那么一旦發(fā)生故障,將會(huì)話費(fèi)非常多的時(shí)間來回滾操作,所以就像傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)一樣,需要定期地合并FSImage和編輯日志。如果由NameNode來做合并操作,那么NameNode在為集群提供服務(wù)時(shí)可能無法提供足夠的資源,為了徹底解決這一問題,SecondaryNameNode應(yīng)允而生。
3)第一階段:namenode 啟動(dòng)
- (1)第一次啟動(dòng) namenode 格式化后,創(chuàng)建 fsimage 和 edits 文件。如果不是第一次啟動(dòng),直接加載編輯日志和鏡像文件到內(nèi)存。
- (2)客戶端對(duì)元數(shù)據(jù)進(jìn)行增刪改的請(qǐng)求。
- (3)namenode 記錄操作日志,更新滾動(dòng)日志。
- (4)namenode 在內(nèi)存中對(duì)數(shù)據(jù)進(jìn)行增刪改查。
4)第二階段:Secondary NameNode 工作
- (1)Secondary NameNode 詢問 namenode 是否需要 checkpoint。直接帶回 namenode 是否檢查結(jié)果。
- (2)Secondary NameNode 請(qǐng)求執(zhí)行 checkpoint。
- (3)Secondary NameNode引導(dǎo)namenode 滾動(dòng)更新編輯正在寫的 edits 日志。
- (4) Secondary NameNode載入FSImage文件,回放編輯日志,將其合并到FSImage,將新的FSImage文件壓縮后寫入磁盤。
- (5)拷貝 fsimage到 namenode。
- (6)namenode 將 fsimage重新命名成 fsimage。
默認(rèn)情況下,該過程每小時(shí)發(fā)生一次,或者當(dāng)NameNode的編輯日志文件到達(dá)默認(rèn)的64MB也會(huì)觸發(fā)。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
詳解百度https認(rèn)證提示"請(qǐng)將您的http站點(diǎn)301重定向到https站點(diǎn)"的解決辦法
對(duì)于301重定向這一概念玩SEO的同志們都不陌生了,近些年來https協(xié)議越來越火,百度大大已經(jīng)明確了對(duì)https的扶持政策,這篇文章主要介紹了詳解百度https認(rèn)證提示"請(qǐng)將您的http站點(diǎn)301重定向到https站點(diǎn)"的解決辦法,感興趣的小伙伴們可以參考一下2018-12-12vscode設(shè)置免密登錄遠(yuǎn)程服務(wù)器的解決方案
當(dāng)我們使用vscode的ssh連接遠(yuǎn)程服務(wù)器后,過一段時(shí)間后,總是要求登錄服務(wù)器的密碼,遇到這樣的問題如何解決呢,下面給大家分享vscode設(shè)置免密登錄遠(yuǎn)程服務(wù)器的解決方案,感興趣的朋友跟隨小編一起看看吧2024-05-05GitLab?Pipeline規(guī)范及流程觸發(fā)詳解
這篇文章主要為大家介紹了GitLab?Pipeline規(guī)范及流程觸發(fā)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04IBM X346 板載 Raid1 功能啟用及Win2003系統(tǒng)安裝小記
有兩臺(tái)IBM X346 m/t-8840-cdr 服務(wù)器,板載raid控制器版本號(hào)為v.4.30.9,硬盤位0,1各裝一塊146G IBM 原裝SCSI硬盤。2011-04-04git標(biāo)簽管理_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了git標(biāo)簽管理的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08iis、apache、nginx使用X-Frame-Options防止網(wǎng)頁(yè)被Frame的解決方法
X-Frame-Options HTTP響應(yīng)頭是用來確認(rèn)是否瀏覽器可以在frame或iframe標(biāo)簽中渲染一個(gè)頁(yè)面,網(wǎng)站可以用這個(gè)頭來保證他們的內(nèi)容不會(huì)被嵌入到其它網(wǎng)站中2017-03-03