spark任务提交参数说明

#!/bin/sh
BIN_DIR=$(cd `dirname $0`; pwd)
#BIN_DIR="$(cd $(dirname $BASH_SOURCE) && pwd)"
LOG_DIR=${BIN_DIR}/../logs
LOG_TIME=`date +%Y-%m-%d`
#main函数传入参数
inputFile='hdfs://192.168.226.88:8020/xxx/input/wordcountInput.txt'
outputFile='hdfs://192.168.226.88:8020/xxx/output'
spark-submit --class WordCountV2 \
--master yarn \
--deploy-mode client \
--queue default \
--executor-memory 1g \
--num-executors 1 \
--conf spark.default.parallelism=500 \
--conf spark.yarn.executor.memoryOverhead=10g \
--jars /opt/cloudera/parcels/HADOOP_LZO/lib/hadoop/lib/hadoop-lzo.jar \
/home/spark/jars/myJars/spark-wordCount-2.0-SNAPSHOT.jar $inputFile $outputFile > ${LOG_DIR}/wordcount_${LOG_TIME}.log 2>&1

–driver-memory
设置driver端内存大小,默认1g
如果需要使用collecttaketop算子将RDD的数据全部拉取到Driver上进行处理,那么必须确保Driver的内存足够大,否则会出现OOM内存溢出的问题(代码中不要出现collect,除非在你知道数据量小的情况下)。

–executor-cores
该参数为设置每个executor能够使用的CPU core的数量,默认为1

–executor-memory
该参数设置的是每个executor分配的内存的数量。需要注意的是,该内存数量是executor-cores中设置的内核数共用的内存数量。一般 6~10g 为宜,最大不超过20G,否则会导致GC代价过高,或资源浪费严重。

–num-executors
总的executors数量(总的task数量为executor-cores*num-executors), 默认为2。该值不应该超过队列总cpu cores的1/3~1/2

–executor-instances
该参数决定了yarn集群中,最多能够同时启动的executors的实例个数。Yarn中实际能够启动的最大executors的数量会小于等于该值。如果不能确定最大能够启动的executors数量,建议将该值先设置的尽量大。默认为num-executors数量

现网参数示例:
spark.driver.maxResultSize 10g
spark.driver.memory 32g
spark.executor.memory 64g
spark.executor.cores 8
spark.executor.instances 20
spark.yarn.maxAppAttempts 1
spark.shuffle.memoryFraction 0.3
spark.storage.memoryFraction 0.5
spark.network.timeout 1200
spark.rpc.askTimeout 1200
spark.default.parallelism 500 (执行非sql任务时优化参数)
spark.yarn.executor.memoryOverhead 10g
spark.sql.broadcastTimeout 3600 (执行sparkSQL时优化参数)
spark.sql.shuffle.partitions 500 (执行sparkSQL时优化参数)

spark.driver.maxResultSize
限制每个executor复制数据到driver端的大小

spark.driver.memory
限制所有executor复制数据到driver端的大小
集群实际并行度为spark.executor.cores*spark.executor.instances=160

spark.default.parallelism、spark.sql.shuffle.partitions
这两个参数一般为实际并行度的2~3倍(spark.executor.cores*spark.executor.instances)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值