【发布时间】:2018-06-21 01:27:40
【问题描述】:
我正在 AWS EMR(3 个节点 * m4.4xlarge 集群 - 每个节点 16vCPU 和 64G RAM)上运行我的 Spark Streaming 应用程序(Spark 2.2.1、EMR 5.11、Scala)的 2 个副本。
在内置的 EMR 集群监控(Ganglia)中,我看到集群的 CPU 利用率低于 30%,内存使用不超过 32GB,从 ~200GB 可用,网络也远未达到 100%。但是应用程序在批处理间隔内几乎无法完成批处理。
以下是我使用客户端模式将应用的每个副本提交给 Master 的参数:
--master yarn
--num-executors 2
--executor-cores 20
--executor-memory 20G
--conf spark.driver.memory=4G
--conf spark.driver.cores=3
我怎样才能达到更好的资源利用率(应用性能)?
【问题讨论】:
标签: apache-spark spark-streaming emr amazon-emr