亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解spark on yarn內存分配

發布時間:2021-11-23 18:02:25 來源:億速云 閱讀:157 作者:柒染 欄目:大數據

如何理解spark on yarn內存分配,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。  

1. 基礎概念
要掌握這個知識點,要了解以下幾個點:
  1. spark driver和executor的on-heap內存是如何配置的。
  2. spark driver和excutor的off-heap內存是如何配置的。
  3. yarn的最小調度單元。
首先,講一下上面的這三個概念吧:
1). spark.driver.memory
默認值1g。driver進程的on-heap內存,driver進程就是sparkcontext初始化所在的進程。在client模式下driver的堆內存,不要通過SparkConf設置,要用--driver-memory命令替換,或者在默認的配置文件里配置。
2). spark.driver.memoryOverhead
默認值是max(DriverMemory*0.1,384m)。在YARN或者kubernetes模式的cluster模式下,driver端申請的off-heap內存的總量,通常是driver堆內存的6%-10%。
3). spark.executor.memory
默認值1g。Executor的jvm內存總量。
4). spark.executor.memoryOverhead
默認值max(executor*0.1,384).單個executor申請的off-heap內存的總量。該參數僅僅支持在yarn或者kubernetes上使用,通常可以是executor內存的0.06-0.1。
5).spark.yarn.am.memory
默認值512m,Appmaster在client模式下的內存。假如是Cluster模式下會使用spark.driver.memory來代替。
6).Yarn的最小調度單元
yarn調度container有個最小粒度,資源調度的時候必須是其整數倍,最小粒度的配置參數是
   
     
   
   
   yarn.scheduler.minimum-allocation-mb
最小調度單元默認值是1024,單位是mb。
2.cluster模式
浪尖這里的案例是40個executor,單個executor內存申請的時候是20GB,driver是20GB,yarn的web ui截圖如下:
如何理解spark on yarn內存分配
整個APP申請的總內存是 923648MB=902GB。
spark app申請的單個 Executor內存,從1.3和1.4可以得知是:

   
     
   
   
   20GB * 0.1 +20GB=22GB
那么40個executor內存是:  

   
     
   
   
   22GB * 40 = 880GB
spark on yarn 的cluster模式下Driver端與appmaster是在一起的,所以appmaster內存參數無效,因此driver和executor總內存由1.1和1.2可得:
20GB * 0.1 +20GB=22G
那么計算所得的總內存是:
   
     
   
   
   22GB+88 GB正好是 902GB。
上面計算的案例中,由于浪院長這里的yarn集群內存調度的最小粒度是1GB貌似,在上面的計算中沒有參與度。
3.cluster模式下

此時假設是10個executor,每個executor的內存是19GB,driver的內存依然是19GB。
首先,我們先看一下,web ui的總內存:
如何理解spark on yarn內存分配
換算成GB就是236544MB/1024 = 231GB
那么經計算可以指導單個executor的內存是:
19*1.1GB =20.9GB
Yarn的最小調度單元是1GB,所以單個executor調度的時候內存是21GB。
10個executor的總內存就是 21 *10 = 210GB
經計算可以得到driver的內存是19*1.1GB= 21GB
那么計算所得的spark app內存和 yarn ui上所得內存一致。
4.注意點
上述計算要想正確要確保:
沒有開啟動態executor申請與釋放,假設開啟了,要視情況計算。

看完上述內容,你們掌握如何理解spark on yarn內存分配的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

那曲县| 白银市| 河津市| 黄平县| 沾益县| 阳原县| 特克斯县| 广宗县| 上栗县| 九台市| 赤城县| 多伦县| 渝中区| 虹口区| 肃南| 安达市| 琼海市| 嵩明县| 年辖:市辖区| 绵竹市| 遵化市| 龙山县| 绥芬河市| 德州市| 运城市| 灌云县| 康定县| 甘谷县| 澄城县| 宜兰县| 皋兰县| 洪江市| 江永县| 进贤县| 利辛县| 曲周县| 石楼县| 通渭县| 柞水县| 阳春市| 岗巴县|