成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Hadoop中NameNode元數(shù)據(jù)的原理是什么-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)專業(yè)IDC數(shù)據(jù)服務器托管提供商,專業(yè)提供成都服務器托管,服務器租用,服務器主機托管,服務器主機托管,成都多線服務器托管等服務器托管服務。

本篇文章為大家展示了Hadoop中NameNode元數(shù)據(jù)的原理是什么,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

在對NameNode節(jié)點進行格式化時,調(diào)用了FSImage的saveFSImage()方法和FSEditLog.createEditLogFile()存儲當前的元數(shù)據(jù)。Namenode主要維護兩個文件,一個是fsimage,一個是editlog。

fsimage :保存了最新的元數(shù)據(jù)檢查點,包含了整個HDFS文件系統(tǒng)的所有目錄和文件的信息。對于文件來說包括了數(shù)據(jù)塊描述信息、修改時間、訪問時間等;對于目錄來說包括修改時間、訪問權限控制信息(目錄所屬用戶,所在組)等。簡單的說,F(xiàn)simage就是在某一時刻,整個hdfs 的快照,就是這個時刻hdfs上所有的文件塊和目錄,分別的狀態(tài),位于哪些個datanode,各自的權限,各自的副本個數(shù)等。

注意:Block的位置信息不會保存到fsimage,Block保存在哪個DataNode(由DataNode啟動時上報)。

editlog :主要是在NameNode已經(jīng)啟動情況下對HDFS進行的各種更新操作進行記錄,HDFS客戶端執(zhí)行所有的寫操作都會被記錄到editlog中。

讀取元數(shù)據(jù):
啟動NameNode節(jié)點時,又要從鏡像和編輯日志中讀取元數(shù)據(jù)。

寫入元數(shù)據(jù):
在NameNode運行時會將內(nèi)存中的元數(shù)據(jù)信息存儲到所指定的文件,即${dfs.name.dir}/current目錄下的fsimage文件,此外還會將另外一部分對NameNode更改的日志信息存儲到${dfs.name.dir}/current目錄下的edits文件中。fsimage文件和edits文件可以確定NameNode節(jié)點當前的狀態(tài),這樣在NameNode節(jié)點由于突發(fā)原因崩潰時,可以根據(jù)這兩個文件中的內(nèi)容恢復到節(jié)點崩潰前的狀態(tài),所以對NameNode節(jié)點中內(nèi)存元數(shù)據(jù)的每次修改都必須保存下來。但是如果每次都保存到fsimage文件中,這樣效率就特別低效,所以引入編輯日志文件edits,保存對對元數(shù)據(jù)的修改信息,也就是fsimage文件保存NameNode節(jié)點中某一時刻內(nèi)存中的元數(shù)據(jù)(即目錄樹),edits保存這一時刻之后的對元數(shù)據(jù)的更改信息。

鏡像的保存:

 SecondaryNameNode:主要由兩個作用,一是鏡像備份(不是NN的備份,但可以做備份),二是日志與鏡像的定期合并。

第一步:將hdfs更新記錄寫入一個新的文件——edits.new。
第二步:將fsimage和editlog通過http協(xié)議發(fā)送至secondary namenode。
第三步:將fsimage與editlog合并,生成一個新的文件——fsimage.ckpt。這步之所以要在secondary namenode中進行,是因為比較耗時,如果在namenode中進行,或導致整個系統(tǒng)卡頓。
第四步:將生成的fsimage.ckpt通過http協(xié)議發(fā)送至namenode。
第五步:重命名fsimage.ckpt為fsimage,edits.new為edits。

第六步:等待下一次checkpoint觸發(fā)SecondaryNameNode進行工作,一直這樣循環(huán)操作。

注:checkpoint觸發(fā)的條件可以在core-site.xml文件中進行配置。fs.checkpoint.period表示多長時間記錄一次hdfs的鏡像。默認是1小時。fs.checkpoint.size表示一次記錄多大的size,默認64M。例如如下:
<property> 
<name>fs.checkpoint.period</name> 
<value>3600</value> 
<description>The number of seconds between two periodic checkpoints. 
</description> 
</property> 

<property> 
<name>fs.checkpoint.size</name> 
<value>67108864</value> 
<description>The size of the current edit log (in bytes) that triggers 
a periodic checkpoint even if the fs.checkpoint.period hasn't expired. 
</description> 
</property>

上述內(nèi)容就是Hadoop中NameNode元數(shù)據(jù)的原理是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道。

本文名稱:Hadoop中NameNode元數(shù)據(jù)的原理是什么-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://jinyejixie.com/article44/dpegee.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計公司、建站公司、網(wǎng)站收錄網(wǎng)站營銷、小程序開發(fā)、響應式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
宁化县| 呼伦贝尔市| 丹寨县| 东乡族自治县| 栖霞市| 樟树市| 浦江县| 商城县| 周宁县| 桦川县| 铜山县| 天柱县| 广德县| 新竹市| 耒阳市| 九龙城区| 柏乡县| 蒙自县| 饶平县| 千阳县| 宜黄县| 福贡县| 绵阳市| 陵水| 泗洪县| 高州市| 利川市| 龙陵县| 阿克苏市| 方山县| 霍邱县| 奉新县| 福安市| 内黄县| 潜山县| 古田县| 彭水| 哈密市| 延安市| 教育| 察雅县|