這篇文章主要介紹“Hadoop的Secondary NameNode是什么”,在日常操作中,相信很多人在Hadoop的Secondary NameNode是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Hadoop的Secondary NameNode是什么”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)公司是由多位在大型網(wǎng)絡(luò)公司、廣告設(shè)計(jì)公司的優(yōu)秀設(shè)計(jì)人員和策劃人員組成的一個(gè)具有豐富經(jīng)驗(yàn)的團(tuán)隊(duì),其中包括網(wǎng)站策劃、網(wǎng)頁美工、網(wǎng)站程序員、網(wǎng)頁設(shè)計(jì)師、平面廣告設(shè)計(jì)師、網(wǎng)絡(luò)營銷人員及形象策劃。承接:網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站改版、網(wǎng)頁設(shè)計(jì)制作、網(wǎng)站建設(shè)與維護(hù)、網(wǎng)絡(luò)推廣、數(shù)據(jù)庫開發(fā),以高性價(jià)比制作企業(yè)網(wǎng)站、行業(yè)門戶平臺等全方位的服務(wù)。
Secondary NameNode從它的名字上來看,給人的感覺是NameNode的備份。但實(shí)際上不是這樣。那到底Secondary NameNode在HDFS中扮演的是什么角色呢?
從名字上來看Secondary NameNode與NameNode,都包含著NameNode,這兩者是不是存在某種關(guān)系呢,先來看下NameNode是干什么的。
NameNode主要是用來保存HDFS的元數(shù)據(jù)信息,比如命名空間信息,快信息等。當(dāng)它運(yùn)行的時(shí)候,這些信息會保存在內(nèi)存中。同時(shí)這部分信息也會持久化到磁盤上。
fsimage:是在NameNode啟動時(shí)對整個(gè)文件系統(tǒng)的快照
edits:在NameNode啟動后,對文件系統(tǒng)改動序列
只有在NameNode重啟時(shí),edits才會合并到fsimage文件中,從而得到一個(gè)文件系統(tǒng)的最新快照。但是在產(chǎn)品集群中NameNode是很少重啟的,這也意味著當(dāng)NameNode運(yùn)行了很長時(shí)間后,edits文件會變得很大。就會面臨如下問題:
edits文件會變的很大,怎么去管理這個(gè)文件是一個(gè)挑戰(zhàn)
NameNode的重啟會花費(fèi)很長時(shí)間,因?yàn)橛泻芏鄀dits中改動要合并到fsimage文件上。
如果NameNode掛掉了,就會丟失了很多改動,因?yàn)榇藭r(shí)的fsimage文件非常舊。
這個(gè)時(shí)候Secondary NameNode就出場了,Secondary NameNode可以來幫助解決上面問題,它的職責(zé)就是用來合并NameNode的edits到fsimage中。
HDFS文件系統(tǒng)的寫操作不是直接被修改到fsimage中,而是edits中,Secondary NameNode節(jié)點(diǎn)負(fù)責(zé)將兩者進(jìn)行整合。
checkpoint過程如下:
Secondary Namenode請求Namenode停止使用edits文件,暫時(shí)將新的寫操作記錄到一個(gè)新文件中,如edits.new。
Secondary Namenode節(jié)點(diǎn)從Namenode節(jié)點(diǎn)獲取fsimage和edits文件(采用HTTP GET)
Secondary Namenode將fsimage文件載入到內(nèi)存,逐一執(zhí)行edits文件中的操作,創(chuàng)建新的fsimage文件
Secondary Namenode將新的fsimage文件發(fā)送回Namenode(使用HTTP POST)
Namenode節(jié)點(diǎn)將從Secondary Namenode節(jié)點(diǎn)接收的fsimage文件替換舊的fsimage文件,用步驟1產(chǎn)生的edits.new文件替換舊的edits文件(即改名)。同時(shí)更新fstime文件來記錄檢查點(diǎn)執(zhí)行的時(shí)間
注:從Hadoop0.21.0開始,輔助Namenode已經(jīng)放棄不用,由checkpoint節(jié)點(diǎn)取而代之,功能不變。新版本同時(shí)引入一種新的Namenode,名為BackupNode。
Secondary NameNode的整個(gè)目的在HDFS中提供一個(gè)Checkpoint Node,它只是NameNode的一個(gè)助手節(jié)點(diǎn)
現(xiàn)在,我們明白Secondary NameNode所做的是在文件系統(tǒng)這設(shè)置一個(gè)Checkpoint來幫助NameNode更好的工作;它不是取代NameNode,也不是NameNode的備份。
Secondary NameNode的檢查點(diǎn)進(jìn)程啟動,是由兩個(gè)配置參數(shù)控制的:
fs.checkpoint.period,指定連續(xù)兩次檢查點(diǎn)的最大時(shí)間間隔, 默認(rèn)值是1小時(shí)。
fs.checkpoint.size定義了edits日志文件的最大值,一旦超過這個(gè)值會導(dǎo)致強(qiáng)制執(zhí)行檢查點(diǎn)(即使沒到檢查點(diǎn)的最大時(shí)間間隔)。默認(rèn)值是64MB。
關(guān)于NameNode是什么時(shí)候?qū)⒏膭訉懙絜dit logs中的?
這個(gè)操作實(shí)際上是由DataNode的寫操作觸發(fā)的,當(dāng)我們往DataNode寫文件時(shí),DataNode會跟NameNode通信,告訴NameNode什么文件的第幾個(gè)block放在它那里,NameNode這個(gè)時(shí)候會將這些元數(shù)據(jù)信息寫到edit logs文件中。
到此,關(guān)于“Hadoop的Secondary NameNode是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
文章名稱:Hadoop的SecondaryNameNode是什么
轉(zhuǎn)載來源:http://aaarwkj.com/article40/peidho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、App設(shè)計(jì)、小程序開發(fā)、靜態(tài)網(wǎng)站、微信小程序、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)