Spark on Yarn:任务提交参数配置
- 當(dāng)在YARN上運(yùn)行Spark作業(yè),每個Spark executor作為一個YARN容器運(yùn)行。Spark可以使得多個Tasks在同一個容器里面運(yùn)行。
以下參數(shù)配置為例子:
spark-submit
--master yarn-cluster?? #使用集群調(diào)度模式(一般使用這個參數(shù))
--num-executors? 132 ???? # executor 數(shù)量
--executor-cores? 2 ?????? #設(shè)置單個executor能并發(fā)執(zhí)行task數(shù),根據(jù)job設(shè)置,推薦值2-16 (這里不是指CPU數(shù),集群不限制CPU使用)
--driver-memory 4g? #driver的內(nèi)存大小,推薦值2-6G,不宜太大
--executor-memory 6g? #單個executor的內(nèi)存大小,根據(jù)job需求以及并發(fā)數(shù)設(shè)置,最大不要超過30G
。。。
- 公式:
1、containers的最大值就是spark 設(shè)置的 num-executors值 ;
2、實(shí)際占用的總的vcores≈(executor-cores)*containers(實(shí)際executors)
3、內(nèi)存計(jì)算公式:((實(shí)際占用的總的containers)*(executor-memory+512M))+(driver-memory)。
- 以下是我實(shí)際執(zhí)行的情況:
submit.sh
#!/bin/sh spark-submit --master yarn-cluster --class MyMain --num-executors 132 --executor-cores 2 --driver-memory 4g --executor-memory 6g xxx.jaryarn resoruce manager監(jiān)控的資源占用結(jié)果:
?基本上按照上邊公式。
?
參考資料:
Spark On YARN內(nèi)存分配 https://yq.aliyun.com/articles/25468
spark on yarn - job提交重要參數(shù)說明:http://www.tuicool.com/articles/7vuu22b
spark-submit提交參數(shù)設(shè)置:http://www.cnblogs.com/gnool/p/5643595.html
?
總結(jié)
以上是生活随笔為你收集整理的Spark on Yarn:任务提交参数配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 原文:我的数据库学习“曲线”
- 下一篇: 基于 Android NDK 的学习之旅