我正在处理Spark应用程序,我遇到了严重的问题 使用CGTime任务时间,结果非常高。 我导出了日志并使用GC easy对其进行了分析。
集群硬件: 1个司机 m4.2xlarge 16个vCore,32个GiB内存,仅EBS存储 EBS存储:32 GiB
15个核心: m4.2xlarge 16个vCore,32个GiB内存,仅EBS存储 EBS存储:32 GiB
配置
hadoop-env.export JAVA_HOME /usr/lib/jvm/java-1.8.0
mapred-site mapreduce.fileoutputcommitter.algorithm.version 2
mapred-site mapred.output.committer.class org.apache.hadoop.mapred.FileOutputCommitter
spark-defaults spark.default.parallelism 880
spark-defaults spark.executor.instances 44
spark-defaults spark.yarn.executor.memoryOverhead 3072
spark-defaults spark.executor.cores 10
spark-defaults spark.yarn.driver.memoryOverhead 3072
spark-defaults spark.driver.memory 18G
spark-defaults spark.driver.cores 10
spark-defaults spark.executor.memory 18G
spark-env.export JAVA_HOME /usr/lib/jvm/java-1.8.0
输入
维度为1.2 Tera的数据。
伪指令
1个读取数据 2地图配对|行->元组(行,1) 3个不同的
记录问题
分析链接
我不是CG收集器动力学的专家,有人可以帮助我发现问题吗?
答案 0 :(得分:1)
您的火花执行器很大,大型执行器会带来大量的GC开销。
观看此视频,了解如何选择执行器的大小和调整性能。
我建议观看完整的视频:https://www.youtube.com/watch?v=OkyRdKahMpk
或至少从此处调整执行器:https://youtu.be/OkyRdKahMpk?t=1308