HDFS:editlog&fsimage-創(chuàng)新互聯(lián)

HDFS:edit log & fsimage

專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)新縣免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

在NameNode的${dfs.namenode.name.dir}/current目錄下,有這樣幾個文件:

在數(shù)據(jù)庫系統(tǒng)中,log是用于記錄寫操作的日志的,并使用該Log進行備份、恢復(fù)數(shù)據(jù)等工作。有關(guān)寫的操作的記錄的,目前見過了兩種:關(guān)系型數(shù)據(jù)庫的log,HBase的WALs等等都是這樣的寫操作的日志。

HDFS也采用了類似的機制。在HDFS中,會將第一次的文件操作,看作一個事務(wù)。譬如說一個文件的創(chuàng)建、文件內(nèi)容追加、文件移動等等寫操作。從這個角度來看呢,fsp_w_picpath文件就相當(dāng)于HDFS 的元數(shù)據(jù)的數(shù)據(jù)庫文件了,而edit log就相當(dāng)于是操作日志文件了。

Fsp_w_picpath:

        每個fsp_w_picpath文件都會包括整個文件系統(tǒng)中所有的目錄和文件inodes信息。每個inode是HDFS內(nèi)部的一個代表文件、或者目錄的元數(shù)據(jù),如果inode代表一個文件,它包括:文件的備份級別、修改時間、訪問時間、訪問權(quán)限、block的size、所有blocks的構(gòu)成等信息。如果inode代表一個目錄,它包括:修改時間、權(quán)限、其它相關(guān)元數(shù)據(jù)等。

Edit log:

      它在邏輯上,是一個實例(也就是說可以理解為一個對象),實際上是由多個文件組成的。每個文件都被稱為一個segment,并以 edits_作為前綴,文件名后面的是事務(wù)id。

譬如上面的:edits_0000000000011403382-0000000000011403408 就代表該文件中放的是

事務(wù)Id為0000000000011403382到0000000000011403408之間的那些事務(wù)的信息。當(dāng)客戶端完成了一個寫操作,并收到namenode的success的響應(yīng)碼時,Namenode才會將該事務(wù)信息寫到editlog文件中。

為什么將事務(wù)信息處理后不直接寫到fsp_w_picpath中?

        如果這樣做的話,也就是每個write操作完畢時,都去更新fsp_w_picpath文件,在一個大的文件系統(tǒng)中,文件就會變得很大,上GB都是有可能的,那么將是一個緩慢的過程。

先寫到edit log中,怎么合并到fsp_w_picpath中呢?

        解決方案是啟動一個Secondary namenode。它的存在就是在內(nèi)存中生成Primary NameNode的fsp_w_picpath文件。它的處理過程是這樣的:

 HDFS:edit log & fsimage

1、Secondary 告訴Primary去滾動它的in-progress edits文件,這樣新來的write操作就會放到一個新的edit 文件中。同時Primary也會更新seen_txid文件。

2、Secondary 通過HTTP GET方式從Primary獲取到最新的fsp_w_picpath和edits文件

3、Secondary 將fsp_w_picpath加載到內(nèi)存中,并從edits文件中取出每一次事務(wù),應(yīng)用到fsp_w_picpath上,如此就產(chǎn)生了一個合并的新的fsp_w_picpath文件。

4、Secondary將這個新合并的fsp_w_picpath文件通過HTTP PUT發(fā)到Primary,Primary把它保存到臨時.ckpt文件中。

5、Primary再把臨時文件重命名,并使它可用。

同時,這也是為啥Secondary需要與Primary類似的內(nèi)存配置,并且需要部署在一個單獨的機器。

NameNode為什么不自己做合并,而是由Seconary NameNode來做呢?

    NameNode不是不自己做,只是在啟動時做。

    首先,所有的寫操作都會經(jīng)過NameNode來處理,所以fap_w_picpath的內(nèi)容,在NameNode的內(nèi)存里,

肯定是有同樣的一份。所以在運行期間,不需要通過合并來保證與內(nèi)存一致。

    其次,NameNode只是在啟動時才進行合并操作。

    也正由于這兩點原因,所以需要由Secondary NameNode來完成了。不然NameNode運行了很長時間,比如累積了大量的editlog,而fsp_w_picpath又是NameNode啟動后的那一次合并后的狀態(tài)。那么NameNode重啟后必然要進行長時間的合并操作。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

標題名稱:HDFS:editlog&fsimage-創(chuàng)新互聯(lián)
URL地址:http://muchs.cn/article28/spjjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司虛擬主機、響應(yīng)式網(wǎng)站全網(wǎng)營銷推廣、企業(yè)網(wǎng)站制作、動態(tài)網(wǎng)站

廣告

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

搜索引擎優(yōu)化