Spark On YARN內(nèi)存分配

原文地址: http://blog.javachen.com/2015/06/09/memory-in-Spark-on-yarn.html
本文主要了解Spark On YARN部署模式下的內(nèi)存分配情況五垮,因?yàn)闆](méi)有深入研究Spark的源代碼,所以只能根據(jù)日志去看相關(guān)的源代碼筷频,從而了解“為什么會(huì)這樣笼痹,為什么會(huì)那樣”嚼摩。

說(shuō)明

按照Spark應(yīng)用程序中的driver分布方式不同音羞,Spark on YARN有兩種模式: yarn-client模式帮哈、yarn-cluster模式司顿。
當(dāng)在YARN上運(yùn)行Spark作業(yè)伴找,每個(gè)Spark executor作為一個(gè)YARN容器運(yùn)行盈蛮。Spark可以使得多個(gè)Tasks在同一個(gè)容器里面運(yùn)行。
下圖是yarn-cluster模式的作業(yè)執(zhí)行圖技矮,圖片來(lái)源于網(wǎng)絡(luò):

Paste_Image.png

關(guān)于Spark On YARN相關(guān)的配置參數(shù)抖誉,請(qǐng)參考Spark配置參數(shù)。本文主要討論內(nèi)存分配情況衰倦,所以只需要關(guān)注以下幾個(gè)內(nèi)心相關(guān)的參數(shù):

  • spark.driver.memory:默認(rèn)值512m
  • spark.executor.memory:默認(rèn)值512m
  • spark.yarn.am.memory:默認(rèn)值512m
  • spark.yarn.executor.memoryOverhead:值為executorMemory * 0.07, with minimum of 384
  • spark.yarn.driver.memoryOverhead:值為driverMemory * 0.07, with minimum of 384
  • spark.yarn.am.memoryOverhead:值為AM memory * 0.07, with minimum of 384

注意:

  • --executor-memory/spark.executor.memory 控制 executor 的堆的大小袒炉,但是 JVM 本身也會(huì)占用一定的堆空間,比如內(nèi)部的 String 或者直接 byte buffer樊零,spark.yarn.XXX.memoryOverhead屬性決定向 YARN 請(qǐng)求的每個(gè) executor 或dirver或am 的額外堆內(nèi)存大小我磁,默認(rèn)值為 max(384, 0.07 * spark.executor.memory)
  • 在 executor 執(zhí)行的時(shí)候配置過(guò)大的 memory 經(jīng)常會(huì)導(dǎo)致過(guò)長(zhǎng)的GC延時(shí)孽文,64G是推薦的一個(gè) executor 內(nèi)存大小的上限。
  • HDFS client 在大量并發(fā)線程時(shí)存在性能問(wèn)題夺艰。大概的估計(jì)是每個(gè) executor 中最多5個(gè)并行的 task 就可以占滿(mǎn)寫(xiě)入帶寬
    另外芋哭,因?yàn)槿蝿?wù)是提交到Y(jié)ARN上運(yùn)行的,所以YARN中有幾個(gè)關(guān)鍵參數(shù)郁副,參考YARN的內(nèi)存和CPU配置
  • yarn.app.mapreduce.am.resource.mb:AM能夠申請(qǐng)的最大內(nèi)存减牺,默認(rèn)值為1536MB
  • yarn.nodemanager.resource.memory-mb:nodemanager能夠申請(qǐng)的最大內(nèi)存,默認(rèn)值為8192MB
  • yarn.scheduler.minimum-allocation-mb:調(diào)度時(shí)一個(gè)container能夠申請(qǐng)的最小資源存谎,默認(rèn)值為1024MB
  • yarn.scheduler.maximum-allocation-mb:調(diào)度時(shí)一個(gè)container能夠申請(qǐng)的最大資源拔疚,默認(rèn)值為8192MB

總結(jié)

在client模式下,AM對(duì)應(yīng)的Container內(nèi)存由spark.yarn.am.memory加上spark.yarn.am.memoryOverhead來(lái)確定既荚,executor加上spark.yarn.executor.memoryOverhead的值之后確定對(duì)應(yīng)Container需要申請(qǐng)的內(nèi)存大小稚失,driver和executor的內(nèi)存加上spark.yarn.driver.memoryOverheadspark.yarn.executor.memoryOverhead的值之后再乘以0.54確定storage memory內(nèi)存大小。在YARN中固以,Container申請(qǐng)的內(nèi)存大小必須為yarn.scheduler.minimum-allocation-mb的整數(shù)倍墩虹。
下面這張圖展示了Spark on YARN 內(nèi)存結(jié)構(gòu),圖片來(lái)自How-to: Tune Your Apache Spark Jobs (Part 2)


至于cluster模式下的分析憨琳,請(qǐng)參考上面的過(guò)程诫钓。希望這篇文章對(duì)你有所幫助!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末篙螟,一起剝皮案震驚了整個(gè)濱河市菌湃,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌遍略,老刑警劉巖惧所,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異绪杏,居然都是意外死亡下愈,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén)蕾久,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)势似,“玉大人,你說(shuō)我怎么就攤上這事僧著÷囊颍” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵盹愚,是天一觀的道長(zhǎng)栅迄。 經(jīng)常有香客問(wèn)我,道長(zhǎng)皆怕,這世上最難降的妖魔是什么毅舆? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任西篓,我火速辦了婚禮,結(jié)果婚禮上憋活,老公的妹妹穿的比我還像新娘污淋。我一直安慰自己,他們只是感情好余掖,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開(kāi)白布寸爆。 她就那樣靜靜地躺著,像睡著了一般盐欺。 火紅的嫁衣襯著肌膚如雪赁豆。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,287評(píng)論 1 301
  • 那天冗美,我揣著相機(jī)與錄音魔种,去河邊找鬼。 笑死粉洼,一個(gè)胖子當(dāng)著我的面吹牛节预,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播属韧,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼安拟,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了宵喂?” 一聲冷哼從身側(cè)響起糠赦,我...
    開(kāi)封第一講書(shū)人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎锅棕,沒(méi)想到半個(gè)月后拙泽,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡裸燎,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年顾瞻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片德绿。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡荷荤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出脆炎,到底是詐尸還是另有隱情梅猿,我是刑警寧澤氓辣,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布秒裕,位于F島的核電站,受9級(jí)特大地震影響钞啸,放射性物質(zhì)發(fā)生泄漏几蜻。R本人自食惡果不足惜喇潘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望梭稚。 院中可真熱鬧颖低,春花似錦、人聲如沸弧烤。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)暇昂。三九已至莺戒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間急波,已是汗流浹背从铲。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留澄暮,地道東北人名段。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像泣懊,于是被迫代替她去往敵國(guó)和親伸辟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容