如下參數配置爲例子:html
spark-submit併發
--master yarn-cluster #使用集羣調度模式(通常使用這個參數)ui
--num-executors 132 # executor 數量spa
--executor-cores 2 #設置單個executor能併發執行task數,根據job設置,推薦值2-16 (這裏不是指CPU數,集羣不限制CPU使用)code
--driver-memory 4g #driver的內存大小,推薦值2-6G,不宜太大htm
--executor-memory 6g #單個executor的內存大小,根據job需求以及併發數設置,最大不要超過30Gblog
。。。內存
一、containers的最大值就是spark 設置的 num-executors值 ;資源
二、實際佔用的總的vcores≈(executor-cores)*containers(實際executors)it
三、內存計算公式:((實際佔用的總的containers)*(executor-memory+512M))+(driver-memory)。
submit.sh
#!/bin/sh spark-submit --master yarn-cluster --class MyMain --num-executors 132 --executor-cores 2 --driver-memory 4g --executor-memory 6g xxx.jar
yarn resoruce manager監控的資源佔用結果:
基本上按照上邊公式。
參考資料:
Spark On YARN內存分配 https://yq.aliyun.com/articles/25468
spark on yarn - job提交重要參數說明:http://www.tuicool.com/articles/7vuu22b
spark-submit提交參數設置:http://www.cnblogs.com/gnool/p/5643595.html