自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

HDFS原理分析之HA機制:avatarnode原理

運維 系統(tǒng)運維
由于namenode 是HDFS的大腦,而這個大腦又是單點,如果大腦出現(xiàn)故障,則整個分布式存儲系統(tǒng)就癱瘓了。HA(High Available)機制就是用來解決這樣一個問題的。碰到這么個問題,首先本能的想到的就是冗余備份,我們今天要討論的是avatarnode。

一、問題描述

由于namenode 是HDFS的大腦,而這個大腦又是單點,如果大腦出現(xiàn)故障,則整個分布式存儲系統(tǒng)就癱瘓了。HA(High Available)機制就是用來解決這樣一個問題的。碰到這么個問題,首先本能的想到的就是冗余備份,備份的方式有很多種,前輩們設計的有元數(shù)據(jù)備份方案,secondary namenode以及avatarnode等方案。而這些方案中最有優(yōu)勢的自然是能夠讓HDFS以最短的時間完成故障切換的方案。也就是我們今天要討論的avatarnode。

二、基本結構

avatarnode結構圖

primary:負責正常業(yè)務namenode,也就是為client提供元數(shù)據(jù)查詢和操作。

standby:熱備的namenode,完全備份primary的元數(shù)據(jù),并對primary做checkpoint(一種元數(shù)據(jù)持久化機制,后面會介紹到)。

NFS:網(wǎng)絡文件服務器,primary會將日志實時同步一份到該服務器,來保證primary出故障時備份元數(shù)據(jù)的完整性。

三、數(shù)據(jù)持久化機制——checkpoint

primary管理著所有的元數(shù)據(jù),通常元數(shù)據(jù)都保存在內存里,這樣對元數(shù)據(jù)的訪問能夠高效。但是有個隱患,就是如果primary節(jié)點宕機了,或者掉電了,那么所有的元數(shù)據(jù)就一去不復返了。如果我們能夠把元數(shù)據(jù)在內存里保存一份,同時在硬盤上也保存一份,那么即使掉電也能將數(shù)據(jù)再恢復過來。

checkpoint機制就是將元數(shù)據(jù)實時在硬盤上保存一份的機制。

首先介紹幾個關鍵概念:

edits:日志文件,記錄引發(fā)元數(shù)據(jù)改變的操作。

fsimage:元數(shù)據(jù)的鏡像文件,可以理解為元數(shù)據(jù)保存在磁盤上的一個副本。

問題1:fsimage代表的是某一時刻的元數(shù)據(jù)鏡像,元數(shù)據(jù)在不斷改變,那么這個鏡像是如何實時更新的呢?

問題2:如何在保證primary namenode正常對外服務的情況下生成fsimage?

checkpoint機制

checkpoint步驟如下:

第一步:secondary namenode請求namenode停止使用edits,暫時記錄在edits.new文件中

第二步:secondary namenode從namenode復制fsimage、edits到本地

第三步:secondary namenode合并fsimage、edits為fsimage.ckpt

第四步:secondary namenode發(fā)送fsimage.ckpt到namenode

第五步:namenode用新的fsimage覆蓋舊的fsimage,用新的edits覆蓋舊的edits

第六步:更新checkpoint時間

到這里fsimage更新完畢,即保證了primary正常服務,也完成了fsimage的更新

四、avatarnode元數(shù)據(jù)的一致性

checkpoint只是保證了元數(shù)據(jù)的持久化,但是如果primary出現(xiàn)故障,修復后還是要花大量的時間來加載fsimage,如何讓standby在內存中就和primary保持元數(shù)據(jù)同步,就是一個高可用的HDFS需要解決的問題。

namenode的元數(shù)據(jù)其實包括兩個部分:

第一部分:目錄樹,目錄樹管理著HDFS中存儲的所有的文件信息。

第二部分:塊數(shù)據(jù)和datanode的對應關系

avatarnode結構圖

只要能夠保證以上兩部分的數(shù)據(jù)一致了,那么元數(shù)據(jù)的一致性問題就解決了。

第一部分:primary將日志實時同步到NFS上,而standby可以實時讀取NFS上的日志,通過日志回放,可以解決目錄樹信息一致的問題。

第二部分:快數(shù)據(jù)和datanode的對應關系,是所有datanode想namenode匯報總結出來的,那么讓所有的datanode向兩個namenode匯報,就可以解決塊數(shù)據(jù)和datanode的對應關系一致性問題。

問題:新引入的NFS會帶來新的單點問題。據(jù)facebook工程師統(tǒng)計,這個單點故障率非常之低,他們在四年中之碰到一次。

到這里avatarnode原理基本講完,但是實際應用中還存在幾個問題

1、HDFS是如何快速檢測到primary出現(xiàn)故障的?

2、standby是如何迅速從備用機切換到primary的?

責任編輯:黃丹 來源: oschina
相關推薦

2012-12-03 17:12:10

HDFS

2022-11-02 15:56:45

littlefscommit機制

2023-12-11 07:21:12

SPI機制插件

2021-12-06 14:52:08

動畫Android補間動畫

2021-12-08 06:53:28

Choreograph屏幕機制

2021-09-09 06:55:43

AndroidViewDragHel原理

2011-06-23 14:05:32

Qt 事件機制

2021-12-20 00:03:38

Webpack運行機制

2017-10-19 15:34:52

Hadoop技術機制學習

2009-11-13 17:20:35

ADO.NET數(shù)據(jù)集工

2021-09-05 07:35:58

lifecycleAndroid組件原理

2021-09-04 07:29:57

Android

2021-09-01 06:48:16

AndroidGlide緩存

2021-09-06 13:12:05

前端JavaScript編程

2021-08-12 16:28:10

AndroidHandleLooper

2011-07-18 14:08:08

2010-05-19 13:29:59

2020-05-14 14:52:05

HDFS數(shù)據(jù)集架構

2021-10-15 09:19:17

AndroidSharedPrefe分析源碼

2009-12-08 10:07:29

點贊
收藏

51CTO技術棧公眾號