HDFS原理及架構(gòu)-創(chuàng)新互聯(lián)

HDFS架構(gòu)

HDFS是一個master/slave結(jié)構(gòu)的服務(wù),其中NameNode是master,一般只在一臺節(jié)點上啟動;DataNode是slave,一般每臺節(jié)點都會啟動一個;DataNode不斷地主動向NameNode發(fā)送心跳、匯報block信息等;為了對NameNode進行備份,還會有一個SecondaryNameNodeHDFS原理及架構(gòu)

創(chuàng)新互聯(lián)專業(yè)提供多線服務(wù)器托管服務(wù),為用戶提供五星數(shù)據(jù)中心、電信、雙線接入解決方案,用戶可自行在線購買多線服務(wù)器托管服務(wù),并享受7*24小時金牌售后服務(wù)。

HDFS各類操作

  1. 創(chuàng)建目錄
    HDFS原理及架構(gòu)
    client與namenode直接交互,在INode中創(chuàng)建目錄節(jié)點,并將操作寫入edit log中即可,全程不需要datanode參與。
  2. 刪除文件
    HDFS原理及架構(gòu)
    客戶端與namenode交互刪除文件,namenode只是標記要刪除,但不會主動通知datanode;
    當對應的datanode向namenode發(fā)送心跳時,namnode會把刪除指令放到返回值里;
    所以一般刪除不是立即刪除,而是有一定的延遲。
  3. 讀文件
    HDFS原理及架構(gòu)
    client先與namenode交互,通過getBlockLocatitions方法獲取到文件block所在節(jié)點,然后client再與datanode交互獲取具體數(shù)據(jù);
    block可能不是一次全部返回,可能需要多次調(diào)用getBlockLocatitions。
    客戶端讀數(shù)據(jù)時如果DN發(fā)生故障,則會接著讀取下一個數(shù)據(jù)塊兒,并記錄這個出故障的節(jié)點;讀數(shù)據(jù)返回中包含了數(shù)據(jù)的校驗和,如果發(fā)現(xiàn)錯誤,會報告給NN,并從其它副本讀取。
  4. 寫文件
    HDFS原理及架構(gòu)
    client先與NN交互,在NN命名空間中創(chuàng)建一個新文件;
    第二步client真正寫入之前再跟NN交互獲取要在哪兒寫,addBlock返回一個LocateBlock對象,包含數(shù)據(jù)庫標志和版本號;
    LocateBlock還提供了跟DN交互的數(shù)據(jù)流管道,client寫入到管道中的數(shù)據(jù)被分為一個個的文件包,這些被放入到一個輸出隊列中;
    第三步client跟DN交互寫入數(shù)據(jù),第一個節(jié)點寫完,由第一個DN向第二個DN寫,寫完還要返回ack確認信息;如果收到ack確認信息,則將這個文件包從隊列中刪除;
    寫完一個數(shù)據(jù)塊之后,DN會跟NN交互,向NN提交這個數(shù)據(jù)塊。

對于某個DN發(fā)生故障的情況:
1,先關(guān)閉數(shù)據(jù)流通道,正在寫的數(shù)據(jù)包由于沒有收到ack,不會從隊列中刪除,數(shù)據(jù)不會丟失;
2,正常的DN上的數(shù)據(jù)塊會被賦予一個新的版本號,并通知NN。主要是故障節(jié)點恢復后,發(fā)現(xiàn)版本號跟NN上的不一致就會自動刪除了;
3,數(shù)據(jù)流管道刪除錯誤節(jié)點并重新建立管道,繼續(xù)在正常幾點上寫數(shù)據(jù);
4,文件關(guān)閉后,NN發(fā)現(xiàn)此數(shù)據(jù)庫沒有達到副本數(shù)要求,會選擇一個新的DN來復制數(shù)據(jù)塊。

  1. SecNameNode備份
    hdfs的元數(shù)據(jù)保存在Inode對象中,但是namenode是一個單點master,如果數(shù)據(jù)都在內(nèi)存則無法進行故障恢復。
    hdfs有一個檢查點機制,會把某個時間點內(nèi)存中的Inode持久化到fsimage文件中,同時對每個操作記錄寫入到edit log中。
    SecNameNode則負責把namenode上的fsimage和edit log合并。
    HDFS原理及架構(gòu)
    1,SecNN不斷地獲取NN上editlog的大小,如果太小則不做處理;
    2,如果editlog較大,則SecNN通知NN發(fā)起一次檢查點操作;
    3,NN會產(chǎn)出一個新的editlog——edit.new,此后對元數(shù)據(jù)的操作都寫入到edit.new文件中;
    4,而SecNN則通過http接口分別將NN上的fsimage和editlog拉取到SecNN節(jié)點上,并在內(nèi)存中合并,并產(chǎn)出文件fsimage.ckpt;
    5,SecNN再主動通知NN鏡像已合并完成;
    6,NN通過http接口拉取過來fsimage.ckpt并覆蓋原來的fsimage,最后將edit.new改回edit

HDFS HA

https://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-name-node/index.html

另外有需要云服務(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è)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網(wǎng)站欄目:HDFS原理及架構(gòu)-創(chuàng)新互聯(lián)
分享地址:http://muchs.cn/article30/dpegpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、微信公眾號、做網(wǎng)站、網(wǎng)站改版Google、網(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)

成都做網(wǎng)站