正确的Spark配置以充分利用EMR群集资源

时间:2019-05-29 13:48:03

标签: apache-spark amazon-emr

我对配置Spark还是很陌生,所以想知道我是否在充分利用我的EMR集群。 EMR群集正在使用spark 2.4和hadoop 2.8.5。

该应用程序从s3读取小型gzip压缩json文件,转换数据并将其写回到s3。

我读过各种文章,但我希望我可以仔细检查我的配置,以防设置中的设置彼此冲突或发生冲突。

我正在使用一个c4.8xlarge群集,这3个工作节点中的每个节点都有36个cpu核心和60gb的ram。 因此,总共有108个cpu内核和180gb的ram。

这是我在“ EMR添加”步骤框中粘贴的火花提交设置:

--class com.example.app
--master yarn
--driver-memory 12g
--executor-memory 3g
--executor-cores 3
--num-executors 33
--conf spark.executor.memory=5g
--conf spark.executor.cores=3
--conf spark.executor.instances=33
--conf spark.driver.cores=16
--conf spark.driver.memory=12g
--conf spark.default.parallelism=200
--conf spark.sql.shuffle.partitions=500
--conf spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version=2 
--conf spark.speculation=false
--conf spark.yarn.am.memory=1g
--conf spark.executor.heartbeatInterval=360000
--conf spark.network.timeout=420000
--conf spark.hadoop.fs.hdfs.impl.disable.cache=true
--conf spark.kryoserializer.buffer.max=512m
--conf spark.shuffle.consolidateFiles=true
--conf spark.hadoop.fs.s3a.multiobjectdelete.enable=false
--conf spark.hadoop.fs.s3a.fast.upload=true
--conf spark.worker.instances=3

0 个答案:

没有答案