大数据
标题:
Spark提交Job如何设置参数
[打印本页]
作者:
Zeng
时间:
2015-4-23 00:43
标题:
Spark提交Job如何设置参数
本帖最后由 Zeng 于 2015-4-23 00:47 编辑
最近需要提交Spark Streaming的Job,如何设置参数成为一个问题,根据
Spark的文档
,在基于yarn模式时,可以指定如下参数:
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn-cluster \ # can also be `yarn-client` for client mode
--executor-memory 20G \
--num-executors 50 \
/path/to/examples.jar \
1000
复制代码
其实,这里缺乏对--executor-memory和--num-executors的解释。
通过参考
网上文档
,可以计算出这些参数的大小,比如有5个node的集群,每个node有4核和30.5G的内存(AWS r3.xlarge配置),
那么,可以在每个node上设置3个executor,每个executor有1核,留出1核给系统,另外,有个node只有2个executor,还得留出1核给AM。
executor-cores=1
executor-memory=(30.5-1)/3*(1-0.07)=9G
num-executors=3*4+2=14
为了提升Spark集群的处理能力,需要优化并行参数,其中最为关键的是设置RDD的分区数spark.default.parallelism,根据
Spark调优文档
,可以设置为集群的CPU核数的2-3倍。在本例中,可以设置spark.default.parallelism为14*3=42。spark.default.parallelism的设置文件在<Spark安装目录>/conf/spark-defaults.conf。
欢迎光临 大数据 (http://www.bigbase.cn/)
Powered by Discuz! X3.2