Rah*_*ley 5 amazon-emr apache-spark
我正在 EMR emr-4.3.0 上运行 Spark 应用程序,有 1 个主节点和 4 个节点
每一颗都有 5GB 内存和 2 个核心。
以下是我的火花提交选项
--class com.mobi.vserv.driver.Query5kPids1
--num-executors 4
--执行程序内存 4g
--执行程序核心 2
--驱动程序内存 4g
但我不断收到以下错误
错误 executor.CoarseGrainedExecutorBackend:驱动程序 10.225.19.144:56334 已解除关联!正在关闭。
最后,Yarn 杀死了应用程序主机
错误 ApplicationMaster:收到信号 15:SIGTERM
1)我可以进一步改进 num-executors 和 executor-cores 的 Spark-Submit 选项吗?
2)我在性能图中看到只有2个节点CPU的利用率高于50%,而另外2个节点的CPU利用率低于5%。
3) 有趣的是,我在 2 个节点和 1 个主节点上运行了相同的应用程序,并且使用 Spark-submit 中给出的相同配置,并且应用程序运行成功。那么 4 个节点出现这种行为的原因是什么
当使用yarn运行spark时,手动强制执行程序实例的数量从来都不是一件好事,spark.dynamicAllocation.enabled=true而是使用。
这样spark就会礼貌地询问yarn,是否可以有更多的资源来运行,如果yarn有,就会授予。
要找到场景的根本原因,您需要查看yarn的应用程序ui(名称节点上的默认端口8088)上有多少内存。由于您要为每个执行器指定自己的内存,因此yarn只能分配该大小的实例,而且yarn必须为下一个任务保留一组vCore和内存保留。
如果有问题,您可以使用“yarn -applicationId app_name_id”来查找纱线上的应用程序日志。
| 归档时间: |
|
| 查看次数: |
12808 次 |
| 最近记录: |