日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Yarn申请的内存的精确计算(转载+应用到自己的情况中)

發布時間:2023/12/31 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Yarn申请的内存的精确计算(转载+应用到自己的情况中) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇博客主要是利用[1]中的流程來嘗試估算自己在運行spark on yarn模式時申請的內存數值。

?

?

一個spark任務會產生幾個Container?
count = ExecutorNum + 1
也就是說最后申請的Container數量為Executor的數量加上driver即為spark任務在yarn上執行最終需要的Container數量。

?

?

spark的配置參考Web UI的Enviroment標簽(下面參數來自spark-defaults.sh,與spark-env.sh有重疊,如果不確定哪個為準就以Web UI為準)

spark.driver.memory=2g

spark.executor.memory=1g

那么spark任務的提交參數為,driverMemory=2G,executorMemory=1G,executorNum = 1
minContainer=512MB
Increment =1024MB
則該任務
executorContainerMemory計算過程如下

申請資源數:executor = Max(executorMemory*0.1,384M)+executorMemory=1408MB

我們來驗證下上面的結果:

http://master:8088->點擊ID下方的application_1588751040057_0002->點擊Logs->stdout得到:

說實話,我個人感覺[1]中后半部分的計算不是太準,我后來自己想了一個:

[(executor的數量)*1408MB](1+20%余量)約等于5G

executor的數量可以通過命令行設置:

spark-submit --num-executors 4

也可以通過$SPARK_HOME/conf/spark-defaults.conf來設置:

spark.executor.instances? 4

?

注意哈:如果不設置spark.executor.instances或者num-executors,網傳num-executors默認為2這個是不準確的,

這個2只是一個初始化的值(也可以理解成是最小值,一般都比這個大),具體根據是[2]:

--num-executors?or spark.?executor. instances acts as a minimum?number?of?executors?with a?default value?of 2. The minimum?number?of?executors?does not imply that the Spark application waits?for?the specific minimum?number?of?executors?to launch, before it starts.

Reference:

[1]如何準確計算Spark On Yarn資源消耗 - spark On Yarn內存計算

[2]Autoscaling in Spark

總結

以上是生活随笔為你收集整理的Yarn申请的内存的精确计算(转载+应用到自己的情况中)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。