在工作EMR室中优化 Spark 作业 - Amazon EMR

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在工作EMR室中优化 Spark 作业

使用 EMR Studio 运行 Spark 作业时,您可以采取一些步骤来帮助确保优化您的 Amazon EMR 集群资源。

延长您的 Livy 会话

如果您在亚马逊EMR集群上使用 Apache Livy 和 Spark,我们建议您通过以下任一操作来延长 Livy 会话超时:

  • 创建 Amazon EMR 集群时,请在输入配置字段中设置此配置分类。

    [ { "Classification": "livy-conf", "Properties": { "livy.server.session.timeout": "8h" } } ]
  • 对于已经运行的EMR集群,请使用连接到您的集群ssh并在中设置livy-conf配置分类。/etc/livy/conf/livy.conf

    [ { "Classification": "livy-conf", "Properties": { "livy.server.session.timeout": "8h" } } ]

    更改配置后,您可能需要重新启动 Livy。

  • 如果您不想 Livy 会话超时,请在 /etc/livy/conf/livy.conf 将属性 livy.server.session.timeout-check 设置为 false

在集群模式下运行 Spark

在集群模式下,Spark 驱动程序在核心节点上运行,而不是在主节点上运行,从而提高了主节点上的资源利用率。

要在集群模式而不是默认客户端模式下运行 Spark 应用程序,请在新 Amazon 集群中配置 Spark 步骤时设置部署模式时选择EMR集群模式。有关更多信息,请参阅 Apache Spark 文档中的集群模式概览

增加 Spark 驱动程序内存

要增加 Spark 驱动程序的内存,请在EMR笔记本中使用%%configure神奇命令配置 Spark 会话,如下例所示。

%%configure -f {"driverMemory": "6000M"}