Spark內(nèi)核分析之Spark的HA源碼分析

????????Spark作業(yè)運行的集群環(huán)境有兩種均驶,分別基于standalone模式和Yarn集群模式郑口。我們知道Yarn集群提供了HA來保證了集群的高可用颓影,而standalone也提供了一種集群高可用的方法各淀,即通過配置可以實現(xiàn)雙master機制,保證在一個master掛掉以后诡挂,另外一個master立即啟用碎浇。spark的主備切換提供了兩種模式,一種是基于文件系統(tǒng)的璃俗,另外一種是基于zookeeper的奴璃。下面我們來看看spark集群的master主備切換是怎么實現(xiàn)的,如下圖所示城豁;

Master主備切換原理圖

1.當active master掛掉以后苟穆,通知standby master啟動,并使用持久化引擎對持久化數(shù)據(jù)進行讀瘸恰雳旅;

2.持久化引擎將不為空的數(shù)據(jù)全部注冊到master的內(nèi)存緩沖中;

3.master向所有的Application间聊,Worker發(fā)送自己的地址信息攒盈;

4.Application,Driver哎榴,Worker收到消息并返回一個消息告知master沦童;

5.master一一接收到來自各個Application,worker叹话,Driver的消息以后,開始過濾掉沒有響應(yīng)的節(jié)點信息墩瞳,然后開始調(diào)用scheduler()方法驼壶,開始為相關(guān)進程分配資源;

通過以上原理的介紹喉酌,下面看看我們的源碼具體是怎么實現(xiàn)的热凹,

worker過濾具體實現(xiàn)
application過濾實現(xiàn)
Driver過濾實現(xiàn)

????????關(guān)于持久化引擎的補充說明,在spark中引入了三種持久化引擎泪电,分別是基于文件的持久化引擎般妙,基于zookeeper的持久化引擎,BlackHolePersistenceEngine引擎相速;系統(tǒng)默認采用的是基于文件的持久化引擎碟渺,可以通過spark.deploy.recoveryMode參數(shù)配置具體采用那種持久化引擎,該參數(shù)的設(shè)置位置時spark-env.sh中突诬。

設(shè)置為zookeeper的方式:

//spark.deploy.recoveryMode=ZOOKEEPER

//spark.deploy.zookeeper.url=192.168.1.100:2181,192.168.1.101:2181

// /spark是默認的苫拍,可以不寫

//spark.deploy.zookeeper.dir=/spark

設(shè)置為基于文件系統(tǒng)的方式:

spark.deploy.recoveryMode=FILESYSTEM

spark.deploy.recoveryDirectory=/usr/local/src/spark/dataDir

總結(jié):到這里基本上關(guān)于spark的HA的原理及實現(xiàn)分析就完了芜繁,后續(xù)關(guān)于其他組件的實現(xiàn)及源碼不定期更新,歡迎關(guān)注绒极。

如需轉(zhuǎn)載骏令,請注明:

上一篇:Spark內(nèi)核分析之SparkContext初始化源碼分析

本篇:Spark內(nèi)核分析之Spark的HA源碼分析

下一篇:Spark內(nèi)核分析之Master的注冊機制實現(xiàn)原理

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市垄提,隨后出現(xiàn)的幾起案子榔袋,更是在濱河造成了極大的恐慌,老刑警劉巖铡俐,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凰兑,死亡現(xiàn)場離奇詭異,居然都是意外死亡高蜂,警方通過查閱死者的電腦和手機聪黎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來备恤,“玉大人稿饰,你說我怎么就攤上這事÷恫矗” “怎么了喉镰?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長惭笑。 經(jīng)常有香客問我侣姆,道長,這世上最難降的妖魔是什么沉噩? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任捺宗,我火速辦了婚禮,結(jié)果婚禮上川蒙,老公的妹妹穿的比我還像新娘蚜厉。我一直安慰自己,他們只是感情好畜眨,可當我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布昼牛。 她就那樣靜靜地躺著,像睡著了一般康聂。 火紅的嫁衣襯著肌膚如雪贰健。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天恬汁,我揣著相機與錄音伶椿,去河邊找鬼。 笑死,一個胖子當著我的面吹牛悬垃,可吹牛的內(nèi)容都是我干的游昼。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼尝蠕,長吁一口氣:“原來是場噩夢啊……” “哼烘豌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起看彼,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤廊佩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后靖榕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體造虏,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡锤岸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年合蔽,在試婚紗的時候發(fā)現(xiàn)自己被綠了啥辨。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡星压,死狀恐怖践剂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情娜膘,我是刑警寧澤逊脯,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站竣贪,受9級特大地震影響军洼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜演怎,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一匕争、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧爷耀,春花似錦汗捡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽春缕。三九已至盗胀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間锄贼,已是汗流浹背票灰。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人屑迂。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓浸策,卻偏偏與公主長得像,于是被迫代替她去往敵國和親惹盼。 傳聞我的和親對象是個殘疾皇子庸汗,可洞房花燭夜當晚...
    茶點故事閱讀 43,612評論 2 350