大数据

 找回密码
 立即注册
搜索
热搜: AWS Hadoop Tableau
查看: 28276|回复: 0
打印 上一主题 下一主题

Spark提交Job如何设置参数

[复制链接]

15

主题

15

帖子

287

积分

版主

Rank: 7Rank: 7Rank: 7

积分
287
跳转到指定楼层
楼主
发表于 2015-4-23 00:43:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Zeng 于 2015-4-23 00:47 编辑

      最近需要提交Spark Streaming的Job,如何设置参数成为一个问题,根据Spark的文档,在基于yarn模式时,可以指定如下参数:
  1. bin/spark-submit \
  2.   --class org.apache.spark.examples.SparkPi \
  3.   --master yarn-cluster \  # can also be `yarn-client` for client mode
  4.   --executor-memory 20G \
  5.   --num-executors 50 \
  6.   /path/to/examples.jar \
  7.   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。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表