Spark on Yarn:任務提交參數配置


  • 當在YARN上運行Spark作業,每個Spark executor作為一個YARN容器運行。Spark可以使得多個Tasks在同一個容器里面運行。

以下參數配置為例子:

spark-submit

--master yarn-cluster       #使用集群調度模式(一般使用這個參數)

--num-executors  132         # executor 數量

--executor-cores  2           #設置單個executor能並發執行task數,根據job設置,推薦值2-16 (這里不是指CPU數,集群不限制CPU使用)

--driver-memory 4g       #driver的內存大小,推薦值2-6G,不宜太大

--executor-memory 6g      #單個executor的內存大小,根據job需求以及並發數設置,最大不要超過30G

。。。

  • 公式:

1、containers的最大值就是spark 設置的 num-executors值 ;

2、實際占用的總的vcores≈(executor-cores)*containers(實際executors)

3、內存計算公式:((實際占用的總的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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM